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 オプションで設定された、許可されているスナップショット分離トランザクションの状態の説明です。
|
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 で確認できます。