sys.databases (Transact-SQL)

Microsoft SQL Server のインスタンスに、データベースごとに 1 行のデータを保持します。

データベースが ONLINE ではない場合、または AUTO_CLOSE が ON に設定されていてデータベースが閉じている場合、いくつかの列の値が NULL になる可能性があります。データベースが OFFLINE である場合、対応する行は権限の低いユーザーに対して表示されません。データベースが OFFLINE の場合に対応する行を表示するには、ユーザーは少なくとも、master データベースで ALTER ANY DATABASE のサーバーレベルの権限、または CREATE DATABASE 権限を持っている必要があります。

列名

データ型

説明

name

sysname

SQL Server のインスタンス内で一意のデータベースの名前です。

database_id

int

SQL Server のインスタンス内で一意のデータベースの ID です。

source_database_id

int

NULL 以外 = このデータベース スナップショットのソース データベースの ID です。

NULL = データベース スナップショットではありません。

owner_sid

varbinary(85)

サーバーに登録したデータベースの外部所有者の SID (セキュリティ識別子) です。

create_date

datetime

データベースの作成または名前の変更を行った日付です。tempdb では、この値はサーバーが再起動されるたびに変わります。

compatibility_level

tinyint

動作に互換性のある SQL Server のバージョンに対応する整数です。

70

80

90

100

NULL = データベースがオンラインではありません。または、AUTO_CLOSE が ON でデータベースが閉じています。

collation_name

sysname

データデースの照合順序です。データベースの既定の照合順序として機能します。

NULL = データベースがオンラインではありません。または、AUTO_CLOSE が ON でデータベースが閉じています。

user_access

tinyint

ユーザー アクセス設定です。

0 = MULTI_USER が指定されています。

1 = SINGLE_USER が指定されています。

2 = RESTRICTED_USER が指定されています。

user_access_desc

nvarchar(60)

ユーザー アクセス設定の説明です。

MULTI_USER

SINGLE_USER

RESTRICTED_USER

is_read_only

bit

1 = データベースは READ_ONLY です。

0 = データベースは READ_WRITE です。

is_auto_close_on

bit

1 = AUTO_CLOSE は ON です。

0 = AUTO_CLOSE は OFF です。

is_auto_shrink_on

bit

1 = AUTO_SHRINK は ON です。

0 = AUTO_SHRINK は OFF です。

state

tinyint

データベースの状態です。

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = EMERGENCY

6 = OFFLINE

注意
オンラインになったばかりのデータベースは、接続を受け入れる準備ができているとは限りません。データベースがいつ接続を受け入れることができるかを特定するには、sys.databases の collation_name 列か、DATABASEPROPERTYEX の Collation プロパティにクエリを実行します。データベースの照合順序から NULL 以外の値が返された場合、データベースは接続を受け入れることができます。

state_desc

nvarchar(60)

データベースの状態の説明です。

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

EMERGENCY

OFFLINE

注意
オンラインになったばかりのデータベースは、接続を受け入れる準備ができているとは限りません。データベースがいつ接続を受け入れることができるかを特定するには、sys.databases の collation_name 列か、DATABASEPROPERTYEX の Collation プロパティにクエリを実行します。データベースの照合順序から NULL 以外の値が返された場合、データベースは接続を受け入れることができます。

詳細については、「データベースの状態」を参照してください。

is_in_standby

bit

データベースは、復元ログに対し、読み取り専用です。

is_cleanly_shutdown

bit

1 = データベースはクリーンにシャットダウンされ、起動時に復旧処理は必要ありません。

0 = データベースはクリーンにシャットダウンされなかったため、起動時に復旧処理が必要です。

is_supplemental_logging_enabled

bit

1 = SUPPLEMENTAL_LOGGING は ON です。

0 = SUPPLEMENTAL_LOGGING は OFF です。

snapshot_isolation_state

tinyint

ALLOW_SNAPSHOT_ISOLATION オプションで設定された、許可されているスナップショット分離トランザクションの状態です。

0 = スナップショット分離の状態は OFF です (既定)。スナップショット分離は許可されていません。

1 = スナップショット分離の状態は ON です。スナップショット分離は許可されています。

2 = スナップショット分離の状態は OFF に移行中です。すべてのトランザクションで、その変更がバージョン管理されます。スナップショット分離を使用して新しいトランザクションを開始することはできません。ALTER DATABASE が実行されたときにアクティブだったすべてのトランザクションが完了するまで、データベースは OFF に移行中の状態となります。

3 = スナップショット分離の状態は ON に移行中です。新しいトランザクションで、その変更がバージョン管理されます。スナップショット分離の状態が 1 (ON) になるまで、トランザクションではスナップショット分離を使用できません。ALTER DATABASE が実行されたときにアクティブだったすべての更新トランザクションが完了するまで、データベースは ON に移行中の状態となります。

snapshot_isolation_state_desc

nvarchar(60)

ALLOW_SNAPSHOT_ISOLATION オプションで設定された、許可されているスナップショット分離トランザクションの状態の説明です。

  • OFF

  • ON

  • IN_TRANSITION_TO_ON

  • IN_TRANSITION_TO_OFF

is_read_committed_snapshot_on

bit

1 = READ_COMMITTED_SNAPSHOT オプションは ON です。READ COMMITTED 分離レベルでの読み取り操作は、スナップショット スキャンに基づいており、ロックを取得しません。

0 = READ_COMMITTED_SNAPSHOT オプションは OFF です (既定)。READ COMMITTED 分離レベルでの読み取り操作は、共有ロックを使用します。

recovery_model

tinyint

選択される復旧モデルです。

1 = FULL

2 = BULK_LOGGED

3 = SIMPLE

recovery_model_desc

nvarchar(60)

選択される復旧モデルの説明です。

FULL

BULK_LOGGED

SIMPLE

page_verify_option

tinyint

PAGE_VERIFY オプションの設定です。

0 = NONE

1 = TORN_PAGE_DETECTION

2 = CHECKSUM

page_verify_option_desc

nvarchar(60)

PAGE_VERIFY オプション設定の説明です。

NONE.TORN_PAGE_DETECTION

CHECKSUM

is_auto_create_stats_on

bit

1 = AUTO_CREATE_STATISTICS は ON です。

0 = AUTO_CREATE_STATISTICS は OFF です。

is_auto_update_stats_on

bit

1 = AUTO_UPDATE_STATISTICS は ON です。

0 = AUTO_UPDATE_STATISTICS は OFF です。

is_auto_update_stats_async_on

bit

1 = AUTO_UPDATE_STATISTICS_ASYNC は ON です。

0 = AUTO_UPDATE_STATISTICS_ASYNC は OFF です。

is_ansi_null_default_on

bit

1 = ANSI_NULL_DEFAULT は ON です。

0 = ANSI_NULL_DEFAULT は OFF です。

is_ansi_nulls_on

bit

1 = ANSI_NULLS は ON です。

0 = ANSI_NULLS は OFF です。

is_ansi_padding_on

bit

1 = ANSI_PADDING は ON です。

0 = ANSI_PADDING は OFF です。

is_ansi_warnings_on

bit

1 = ANSI_WARNINGS は ON です。

0 = ANSI_WARNINGS は OFF です。

is_arithabort_on

bit

1 = ARITHABORT は ON です。

0 = ARITHABORT は OFF です。

is_concat_null_yields_null_on

bit

1 = CONCAT_NULL_YIELDS_NULL は ON です。

0 = CONCAT_NULL_YIELDS_NULL は OFF です。

is_numeric_roundabort_on

bit

1 = NUMERIC_ROUNDABORT は ON です。

0 = NUMERIC_ROUNDABORT は OFF です。

is_quoted_identifier_on

bit

1 = QUOTED_IDENTIFIER は ON です。

0 = QUOTED_IDENTIFIER は OFF です。

is_recursive_triggers_on

bit

1 = RECURSIVE_TRIGGERS は ON です。

0 = RECURSIVE_TRIGGERS は OFF です。

is_cursor_close_on_commit_on

bit

1 = CURSOR_CLOSE_ON_COMMIT は ON です。

0 = CURSOR_CLOSE_ON_COMMIT は OFF です。

is_local_cursor_default

bit

1 = CURSOR_DEFAULT はローカルです。

0 = CURSOR_DEFAULT はグローバルです。

is_fulltext_enabled

bit

1 = データベースに対してフルテキストが有効です。

0 = データベースに対してフルテキストが無効です。

is_trustworthy_on

bit

1 = データベースは信頼できるものとしてマークされています。

0 = データベースは信頼できるものとしてマークされていません。

is_db_chaining_on

bit

1 = 複数データベースの組み合わせ所有権は ON です。

0 = 複数データベースの組み合わせ所有権は OFF です。

is_parameterization_forced

bit

1 = パラメーター化は FORCED です。

0 = パラメーター化は SIMPLE です。

is_master_key_encrypted_by_server

bit

1 = データベースは暗号化されたマスター キーを保有しています。

0 = データベースは暗号化されたマスター キーを保有していません。

is_published

bit

1 = データベースは、トランザクション レプリケーション トポロジまたはスナップショット レプリケーション トポロジにおけるパブリケーション データベースです。

0 = パブリケーション データベースではありません。

is_subscribed

bit

1 = データベースは、レプリケーション トポロジにおけるサブスクリプション データベースです。

0 = サブスクリプション データベースではありません。

is_merge_published

bit

1 = データベースは、マージ レプリケーション トポロジにおけるパブリケーション データベースです。

0 = マージ レプリケーション トポロジにおけるパブリケーション データベースではありません。

is_distributor

bit

1 = データベースは、レプリケーション トポロジにおけるディストリビューション データベースです。

0 = レプリケーション トポロジにおけるディストリビューション データベースではありません。

is_sync_with_backup

bit

1 = データベースはバックアップとのレプリケーション同期用に設定されています。

0 = バックアップとのレプリケーション同期用に設定されていません。

service_broker_guid

uniqueidentifier

このデータベースの Service Broker の識別子です。ルーティング テーブルでターゲットの broker_instance として使用されます。

is_broker_enabled

bit

1 = このデータベースのブローカーは現在メッセージを送受信中です。

0 = このデータベースでは、すべての送信メッセージは転送キューにとどまり、受信メッセージはキューに配置されません。

既定では、復元されたデータベースまたはアタッチされたデータベースでは、ブローカーは無効になります。ただし、フェールオーバー後にブローカーが有効になるデータベース ミラーリングは例外です。

log_reuse_wait

tinyint

トランザクション ログ領域の再利用は、現在次のいずれかで待機中です。

0 = なし

1 = チェックポイント

2 = ログのバックアップ

3 = アクティブなバックアップまたは復元

4 = アクティブなトランザクション

5 = データベース ミラーリング

6 = レプリケーション

7 = データベース スナップショットの作成

8 = ログのスキャン

9 = その他 (一時的)

log_reuse_wait_desc

nvarchar(60)

現在待機中の、トランザクション ログ領域の再利用の理由の説明です。

NOTHING

CHECKPOINT

LOG_BACKUP

注意
理由が LOG_BACKUP である場合、実際に領域を解放するのに 2 つのバックアップを取ることがあります。

ACTIVE_BACKUP_OR_RESTORE

ACTIVE_TRANSACTION

DATABASE_MIRRORING

REPLICATION

DATABASE_SNAPSHOT_CREATION

LOG_SCAN

OTHER_TRANSIENT

詳細については、「ログの切り捨てが遅れる原因となる要因」を参照してください。

is_date_correlation_on

bit

1 = DATE_CORRELATION_OPTIMIZATION は ON です。

0 = DATE_CORRELATION_OPTIMIZATION は OFF です。

is_cdc_enabled

bit

1 = データベースで変更データ キャプチャが有効になっています。詳細については、「sys.sp_cdc_enable_db (Transact-SQL)」を参照してください。

is_encrypted

bit

データベースが暗号化されているかどうかを示します (ALTER DATABASE SET ENCRYPTION 句を使用して最後に設定された状態を表します)。次の値のいずれかです。

1 = 暗号化されている

0 = 暗号化されていない

データベースの暗号化の詳細については、「透過的なデータ暗号化 (TDE) について」を参照してください。

データベースで暗号化解除の処理が実行中の場合は、is_encrypted の値は 0 を示します。暗号化処理の状態を確認するには、sys.dm_database_encryption_keys 動的管理ビューを使用します。

is_broker_priority_honored

bit

データベースでメッセージ交換の優先度が適用されるかどうかを示します (ALTER DATABASE SET HONOR_BROKER_PRIORITY 句を使用して最後に設定された状態を表します)。次の値のいずれかです。

1 = HONOR_BROKER_PRIORITY は ON です。

0 = HONOR_BROKER_PRIORITY は OFF です。

詳細については、「メッセージ交換の優先度」を参照してください。

権限

sys.databases の呼び出し元がデータベースの所有者ではなく、データベースが master でも tempdb でもない場合、対応する行を表示するには、少なくとも master データベースで、ALTER ANY DATABASE または VIEW ANY DATABASE のサーバーレベルの権限、あるいは、CREATE DATABASE の権限が必要です。呼び出し元が接続しているデータベースは常に sys.databases で確認できます。