sys.databases (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス

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

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

列名 データ型 説明
name sysname データベースの名前。SQL Server のインスタンス内または Azure SQL Database 論理サーバー内で一意です。
database_id int データベースの ID。SQL Server のインスタンス内で一意です。

Azure SQL Database では、値は論理サーバー内で一意であり、database_id列のsys.database_service_objectivesと結合できますが、database_id列が存在する他のシステム ビューには参加できません。 詳細については、「DB_ID」を参照してください。
source_database_id int NULL 以外 = このデータベース スナップショットのソース データベースの ID です。
NULL = データベース スナップショットではありません。
owner_sid varbinary(85) サーバーに登録したデータベースの外部所有者の SID (セキュリティ識別子) です。 データベースを所有できるユーザーについては、「データベースのALTER AUTHORIZATIONを参照してください。
create_date datetime データベースの作成または名前の変更を行った日付です。 tempdb では、この値はサーバーが再起動されるたびに変わります。 create_dateは、Azure SQL Database で名前変更操作を実行しても変更されません。
compatibility_level tinyint 動作に互換性のある SQL Server のバージョンに対応する整数です。

70 - SQL Server 7.0 から SQL Server 2008 (10.0.x)
80 - SQL Server 2000 (8.x) から SQL Server 2008 R2 (10.50.x)
90 - SQL Server 2008 (10.0.x) から SQL Server 2012 (11.x)
100 - SQL Server 2008 (10.0.x) 以降のバージョンと Azure SQL Database
110 - SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
120 - SQL Server 2014 (12.x) 以降のバージョンと Azure SQL Database
130 - SQL Server 2016 (13.x) 以降のバージョンと Azure SQL Database
140 - SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database
150 - SQL Server 2019 (15.x) 以降のバージョンと Azure SQL Database
160 - SQL Server 2022 (16.x) 以降のバージョンと Azure SQL Database
collation_name sysname データベースの照合順序です。 データベースの既定の照合順序として機能します。
NULL = データベースがオンラインではないか、AUTO_CLOSE が ON に設定されており、データベースが閉じられています。
user_access tinyint ユーザー アクセス設定です。
0 = MULTI_USER 指定
1 = SINGLE_USER 指定
2 = RESTRICTED_USER 指定
user_access_desc nvarchar(60) ユーザー アクセス設定の説明です。
is_read_only bit 1 = データベースは次の値です。 READ_ONLY
0 = データベースは次の値です。 READ_WRITE
is_auto_close_on bit 1 = AUTO_CLOSE is ON
0 = AUTO_CLOSE が OFF です
is_auto_shrink_on bit 1 = AUTO_SHRINK is ON
0 = AUTO_SHRINK が OFF です
state tinyint Value
0 = ONLINE
1 = RESTORING
2 = RECOVERING 1
3 = RECOVERY_PENDING 1
4 = SUSPECT
5 = EMERGENCY 1
6 = OFFLINE 1
7 = COPYING 2
10 = OFFLINE_SECONDARY 2

注: Always On データベースの場合、sys.dm_hadr_database_replica_statesdatabase_state または database_state_desc 列のクエリを実行します。
1 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン、および Azure SQL Database
2 適用する: Azure SQL Database のアクティブ geo レプリケーション
state_desc nvarchar(60) データベースの状態の説明。 以下stateを参照してください。
is_in_standby bit データベースは、復元ログに対し、読み取り専用です。
is_cleanly_shutdown bit 1 = データベースが正常にシャットダウンされました。起動時に回復は必要ありません
0 = データベースが正常にシャットダウンされませんでした。起動時に回復が必要です
is_supplemental_logging_enabled bit 1 = SUPPLEMENTAL_LOGGING is 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 (既定値) です。 読み取りコミットされた分離レベルでの読み取り操作では、共有ロックが使用されます。
recovery_model tinyint 選択される復旧モデルです。
1 = FULL
2 = BULK_LOGGED
3 = SIMPLE
recovery_model_desc nvarchar(60) 選択された復旧モデルの説明。
page_verify_option tinyint PAGE_VERIFYオプションの設定:
0 = NONE
1 = TORN_PAGE_DETECTION
2 = CHECKSUM
page_verify_option_desc nvarchar(60) PAGE_VERIFYオプション設定の説明。
is_auto_create_stats_on bit 1 = AUTO_CREATE_STATISTICS is ON
0 = AUTO_CREATE_STATISTICS が OFF です
is_auto_create_stats_incremental_on bit 自動統計の増分オプションの既定の設定を示します。
0 = 自動作成統計は非増分です
1 = 可能な場合、自動作成統計は増分です

適用対象: SQL Server 2014 (12.x) 以降のバージョン。
is_auto_update_stats_on bit 1 = AUTO_UPDATE_STATISTICS is ON
0 = AUTO_UPDATE_STATISTICS が OFF です
is_auto_update_stats_async_on bit 1 = AUTO_UPDATE_STATISTICS_ASYNC is ON
0 = AUTO_UPDATE_STATISTICS_ASYNC が OFF です
is_ansi_null_default_on bit 1 = ANSI_NULL_DEFAULT is ON
0 = ANSI_NULL_DEFAULT が OFF です
is_ansi_nulls_on bit 1 = ANSI_NULLS is ON
0 = ANSI_NULLS が OFF です
is_ansi_padding_on bit 1 = ANSI_PADDING is ON
0 = ANSI_PADDING が OFF です
is_ansi_warnings_on bit 1 = ANSI_WARNINGS is ON
0 = ANSI_WARNINGS が OFF です
is_arithabort_on bit 1 = ARITHABORT is ON
0 = ARITHABORT が OFF です
is_concat_null_yields_null_on bit 1 = CONCAT_NULL_YIELDS_NULL is ON
0 = CONCAT_NULL_YIELDS_NULL が OFF です
is_numeric_roundabort_on bit 1 = NUMERIC_ROUNDABORT is ON
0 = NUMERIC_ROUNDABORT が OFF です
is_quoted_identifier_on bit 1 = QUOTED_IDENTIFIER is ON
0 = QUOTED_IDENTIFIER が OFF です
is_recursive_triggers_on bit 1 = RECURSIVE_TRIGGERS is ON
0 = RECURSIVE_TRIGGERS が OFF です
is_cursor_close_on_commit_on bit 1 = CURSOR_CLOSE_ON_COMMIT is 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 = データベースが信頼できるとマークされていません
既定では、復元された、またはアタッチされたデータベースの Trustworthy は有効になっていません。
is_db_chaining_on bit 1 = データベース間の所有権のチェーンがオン
0 = データベース間の所有権のチェーンがオフです
is_parameterization_forced bit 1 = パラメーター化は FORCED です
0 = パラメーター化は SIMPLE です
is_master_key_encrypted_by_server bit 1 = データベースに暗号化されたマスター キーがある
0 = データベースに暗号化されたマスター キーがない
is_query_store_on bit 1 = このデータベースに対してクエリ ストアが有効になっています。 sys.database_query_store_options を確認して、クエリ ストアの状態を表示します。
0 = クエリ ストアが有効になっていません

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
is_published bit 1 = データベースは、トランザクション またはスナップショット レプリケーション トポロジのパブリケーション データベースです
0 = パブリケーション データベースではありません
is_subscribed bit この列は使用されません。 データベースのサブスクライバーの状態に関係なく、常に 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 トランザクション ログ領域の再利用は、前回のチェックポイントの時点で、次のいずれかで現在待機中です。 これらの値の詳細については、 トランザクション ログを参照してください。

Value
0 = Nothing
1= チェックポイント (データベースにメモリ最適化データ ファイル グループがある場合は、checkpointまたはxtp_checkpointを示すlog_reuse_wait列が表示されます) 1
2 = ログ バックアップ 1
3 = アクティブなバックアップまたは復元 1
4 = アクティブなトランザクション 1
5 = データベース ミラーリング 1
6 = レプリケーション 1
7 = データベース スナップショットの作成 1
8 = ログ スキャン
9 = Always On 可用性グループのセカンダリ レプリカが、このデータベースのトランザクション ログ レコードを対応するセカンダリ データベースに適用しています。 2
9 = その他 (一時的) 3
10 = 内部使用の場合は 2 のみ
11 = 内部使用の場合は 2 のみ
12 = 内部使用の場合は 2 のみ
13 = 最も古いページ 2
14 = その他の 2
16 = XTP_CHECKPOINT(データベースにメモリ最適化データ ファイル グループがある場合は、checkpointまたはxtp_checkpointを示す log_reuse_wait 列が表示されます) 4
17 = Accelerated Database Recovery を使用する場合の sLog スキャン 5
1 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン
2 適用対象: SQL Server 2012 (11.x) 以降のバージョン
3 適用先: SQL Server 2008 R2 (10.50.x) 以前のバージョン
4 適用対象: SQL Server 2014 (12.x) 以降のバージョン
5 適用対象: SQL Server 2019 (15.x) 以降のバージョン
log_reuse_wait_desc nvarchar(60) 前回のチェックポイントの時点で現在待機中の、トランザクション ログ領域の再利用の理由の説明です。 指定できる値
NOTHING
CHECKPOINT
LOG_BACKUP
ACTIVE_BACKUP_OR_RESTORE
ACTIVE_TRANSACTION
DATABASE_MIRRORING
REPLICATION
DATABASE_SNAPSHOT_CREATION
LOG_SCAN
AVAILABILITY_REPLICA
OLDEST_PAGE
XTP_CHECKPOINT
SLOG_SCAN
is_date_correlation_on bit 1 = DATE_CORRELATION_OPTIMIZATION is 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 = Encrypted
0 = 暗号化されていません
データベース暗号化の詳細については、「 Transparent データ暗号化 (TDE)」を参照してください。
データベースが復号化中の場合、 is_encrypted0 の値を表示します。 データベースの暗号化処理の状態を確認するには、sys.dm_database_encryption_keys 動的管理ビューを使用します。
is_honor_broker_priority_on bit データベースが会話の優先順位を尊重するかどうかを示します (ALTER DATABASE SET HONOR_BROKER_PRIORITY 句を使用して最後に設定された状態を反映します)。 値は、次のいずれかです。
1 = HONOR_BROKER_PRIORITYがオンです
0 = HONOR_BROKER_PRIORITYが OFF です
既定では、復元されたデータベースまたはアタッチされたデータベースのブローカー優先順位はオフになっています。
replica_id uniqueidentifier データベースが参加している可用性グループ (存在する場合) のローカル Always On 可用性グループの可用性レプリカの一意識別子。
NULL = データベースは可用性グループ内の可用性レプリカの一部ではありません。

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
group_database_id uniqueidentifier データベースが参加している Always On 可用性グループ (存在する場合) 内のデータベースの一意識別子です。 group_database_id は、プライマリ レプリカ上のこのデータベースと、データベースが可用性グループに参加しているすべてのセカンダリ レプリカで同じです。
NULL = データベースはどの可用性グループの可用性レプリカにも含まれません。

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
resource_pool_id int このデータベースにマップされるリソース プールの ID。 このリソース プールは、このデータベース内のメモリ最適化テーブルで使用できる合計メモリを制御します。

適用対象: SQL Server 2014 (12.x) 以降のバージョン
default_language_lcid smallint 包含データベースの既定の言語のローカル ID (lcid) を示します。

注: として機能sp_configureの既定の言語 (サーバー構成オプション) を構成します。 この値は、包含されていないデータベースに対して NULL されます。
適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
default_language_name nvarchar(128) 包含データベースの既定の言語を示します。
この値は、包含されていないデータベースに対して NULL されます。

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
default_fulltext_language_lcid int 包含データベースの既定のフルテキスト言語のローカル ID (LCID) を示します。

注:既定のsp_configureの既定のフルテキスト言語 (サーバー構成オプション) を構成する関数。 この値は、包含されていないデータベースに対して NULL されます。
適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
default_fulltext_language_name nvarchar(128) 包含データベースの既定のフルテキスト言語を示します。
この値は、包含されていないデータベースに対して NULL されます。

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
is_nested_triggers_on bit 包含データベースで入れ子になったトリガーが許可されるかどうかを示します。
0 = 入れ子になったトリガーは許可されません
1 = 入れ子になったトリガーは許可されます

注: sp_configureの入れ子になったトリガー (サーバー構成オプション) を構成する関数。 この値は、包含されていないデータベースに対して NULL されます。 詳しくは、「sys.configurations (Transact-SQL)」を参照してください。
適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
is_transform_noise_words_on bit 包含データベースでノイズ ワードを変換する必要があるかどうかを示します。
0 = ノイズ ワードは変換しないでください。
1 = ノイズ ワードを変換する必要があります。

注:[ノイズ ワード変換] サーバー構成オプションを構成するsp_configure として機能します。 この値は、包含されていないデータベースに対して NULL されます。 詳しくは、「sys.configurations (Transact-SQL)」を参照してください。
適用対象: SQL Server 2012 (11.x) 以降のバージョン
two_digit_year_cutoff smallint 2 桁の数字を 4 桁の西暦として解釈する場合の区切りの年を表す 1753 ~ 9999 の範囲の数値を示します。

注: としての機能 sp_configureの 2 桁の年のカットオフ (サーバー構成オプション) を構成します。 この値は、包含されていないデータベースに対して NULL されます。 詳しくは、「sys.configurations (Transact-SQL)」を参照してください。
適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
containment tinyint データベースの包含状態を示します。 NULL 値は許可されません。
0 = データベースの包含がオフです。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、および Azure SQL Database。
1 = データベースが部分的な包含 アプリケーション内にあります: SQL Server 2012 (11.x) 以降のバージョン
containment_desc nvarchar(60) データベースの包含状態を示します。 NULL 値は許可されません。
NONE = レガシ データベース (ゼロコンテインメント)
PARTIAL = 部分的包含データベース

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
target_recovery_time_in_seconds int データベースの推定復旧時間 (秒) です。 NULL 値は許可されます。

適用対象: SQL Server 2012 (11.x) 以降のバージョンと Azure SQL Database
delayed_durability int 遅延持続性の設定:
0 = DISABLED
1 = ALLOWED
2 = FORCED
詳しくは、「トランザクションの持続性の制御」をご覧ください。

適用対象: SQL Server 2014 (12.x) 以降のバージョンと Azure SQL Database。
delayed_durability_desc nvarchar(60) 遅延持続性の設定:
DISABLED
ALLOWED
FORCED

適用対象: SQL Server 2014 (12.x) 以降のバージョンと Azure SQL Database。
is_memory_optimized_elevate_to_snapshot_on bit セッション設定 TRANSACTION ISOLATION LEVEL が低い分離レベル (READ COMMITTED または READ UNCOMMITTED) に設定されている場合は、SNAPSHOT 分離を使用してメモリ最適化テーブルにアクセスします。
1 = 最小分離レベルは SNAPSHOT です。
0 = 分離レベルは昇格されません。
is_federation_member bit データベースがフェデレーションのメンバーであるかどうかを示します。

適用対象: Azure SQL データベース
is_remote_data_archive_enabled bit データベースが拡張されているかどうかを示します。
0 = データベースが Stretch 対応ではありません。
1 = データベースが Stretch 対応です。

適用対象: SQL Server 2016 (13.x) 以降のバージョン
詳細については、「Stretch Database」を参照してください。
is_mixed_page_allocation_on bit データベース内のテーブルとインデックスが、混合エクステントから初期ページを割り当てることができるかどうかを示します。
0 = データベース内のテーブルとインデックスは、常に統一されたエクステントから初期ページを割り当てます。
1 = データベース内のテーブルとインデックスは、混合エクステントから初期ページを割り当てることができます。
詳細については、「ALTER DATABASE の SET オプション (Transact-SQL)」の「SET MIXED_PAGE_ALLOCATION」オプションを参照してください。

適用対象: SQL Server 2016 (13.x) 以降のバージョン
is_temporal_history_retention_enabled bit テンポラル アイテム保持ポリシーのクリーンアップ タスクが有効かどうかを示します。

1 = テンポラルリテンション期間が有効
0 = テンポラルリテンション期間が無効
適用対象: SQL Server 2017 (14.x) 以降のバージョンと Azure SQL Database
catalog_collation_type int カタログ照合順序の設定:
0 = DATABASE_DEFAULT
2 = SQL_Latin_1_General_CP1_CI_AS

適用対象: Azure SQL Database
catalog_collation_type_desc nvarchar(60) カタログ照合順序の設定:
COLLATE
SQL_Latin_1_General_CP1_CI_AS

適用対象: Azure SQL Database
physical_database_name nvarchar(128) SQL Server の場合、データベースの物理名。 Azure SQL Database の場合、ユーザー データベースに対応する現在の物理データベースの一意識別子。 データベース サービス レベルの目標を変更するか、データベースを復元すると、この値が変更されます。

適用対象: SQL Server 2019 (15.x) 以降のバージョンと Azure SQL Database
is_result_set_caching_on bit 結果セットのキャッシュが有効かどうかを示します。
1 = 結果セットのキャッシュが有効になっている
0 = 結果セットのキャッシュが無効になっている

適用対象: Azure Synapse Analytics Gen2。 この機能はすべてのリージョンにロールアウトされますが、お使いのインスタンスにデプロイされるバージョンを確認してください。また、機能の可用性については、最新の Azure Synapse リリースノートおよび Gen2 のアップグレード スケジュールを確認してください。
is_accelerated_database_recovery_on bit 高速データベース復旧 (ADR) が有効かどうかを示します。
1 = ADR が有効
0 = ADR が無効

適用対象: SQL Server 2019 (15.x) 以降のバージョンと Azure SQL Database
is_tempdb_spill_to_remote_store bit リモート ストアへの tempdb スピルが有効かどうかを示します。
1 = 有効
0 = 無効

適用対象: Azure Synapse Analytics Gen2。
is_stale_page_detection_on bit 古いページ検出が有効かどうかを示します。
1 = 古いページ検出が有効になっている
0 = 古いページ検出が無効になっている

適用対象: Azure Synapse Analytics Gen2。 この機能はすべてのリージョンにロールアウトされますが、お使いのインスタンスにデプロイされるバージョンを確認してください。また、機能の可用性については、最新の Azure Synapse リリースノートおよび Gen2 のアップグレード スケジュールを確認してください。
is_memory_optimized_enabled bit Hybrid バッファー プールなど、特定のメモリ内機能がデータベースに対して有効かどうかを示します。 In-Memory OLTP の概要と使用シナリオの可用性または構成の状態は反映されません
1 = メモリ最適化機能が有効になっている
0 = メモリ最適化機能が無効になっている

適用対象: SQL Server 2019 (15.x) 以降のバージョンと Azure SQL Database
is_data_retention_on bit azure Edge データベース データリテンション期間有効かどうかを示します

適用対象: Azure SQL Edge
is_ledger_on bit 台帳データベースを示します。これは、すべてのユーザー テーブルが台帳テーブルであるデータベースです (すべての顧客データベースは改ざんが明らかになります)。

適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database
is_change_feed_enabled bit sql Azure Synapse Link で現在のデータベースが有効になっているかFabric ミラー化データベースを示します。

適用対象: SQL Server 2022 (16.x) 以降のバージョン、および Azure SQL Database
is_vorder_enabled bit 各倉庫で V-Order が有効かどうかを示します。

適用対象: Microsoft Fabric のみ。

アクセス許可

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

重要

既定では、パブリック ロールにはVIEW ANY DATABASE アクセス許可があり、すべてのログインでデータベース情報を表示できます。

ログインでデータベースが検出されるのを阻止するには、public から VIEW ANY DATABASE アクセス許可を REVOKE するか、または、個々のログインに対して VIEW ANY DATABASE アクセス許可を DENY します。

解説

Azure SQL Database では、master データベースとユーザー データベースでこのビューを使用できます。 master データベースでは、master データベースとサーバー上のすべてのユーザー データベースに関する情報がこのビューに返されます。 ユーザー データベースでは、このビューは現在のデータベースと master データベースに関する情報のみを返します。

メタデータ同期の可能性があるため、 sys.databases ビューでは、データベースの暗号化に関する正しくない情報が提供される可能性があります。 正確な結果を得るには、 sys.dm_database_encryption_keys ビューを使用して実際の暗号化状態を取得することをお勧めします。

新しいデータベースが作成される Azure SQL Database サーバー サーバーの master データベースの sys.databases ビューを使用します。 データベースのコピーが開始された後で、コピー先サーバーの master データベースから sys.databasessys.dm_database_copies のビューに対してクエリを実行して、コピーの進行状況に関する詳細を取得できます。

A. sys.databases ビューに対してクエリを実行する

次の例では、sys.databases ビューで使用できる列をいくつか返します。

SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
FROM sys.databases;

B. SQL Database で、コピーの状態を確認する

次の例では、sys.databases ビューと sys.dm_database_copies ビューに対してクエリを実行し、データベースのコピー操作に関する情報を返します。

適用対象: Azure SQL データベース

-- Execute from the master database.
SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percent_complete
FROM sys.databases AS a
INNER JOIN sys.dm_database_copies AS b ON a.database_id = b.database_id
WHERE a.state = 7;

C. SQL Database でテンポラル保持ポリシーの状態を確認する

次の例では、sys.databases ビューに対してクエリを実行し、テンポラ保持のクリーンアップ タスクが有効かどうかに関する情報を返します。 既定では、復元操作後のテンポラル保持は無効になっています。 これを明示的に有効にするには、ALTER DATABASE を使用します。

適用対象: Azure SQL データベース

-- Execute from the master database.
SELECT a.name, a.is_temporal_history_retention_enabled
FROM sys.databases AS a;