sys.databases (Transact-SQL)
適用対象: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Serverのインスタンスに、データベースごとに 1 行のデータを保持します。
データベースが ではない ONLINE
場合、または AUTO_CLOSE
が に ON
設定されていて、データベースが閉じている場合、一部の列の値は である NULL
可能性があります。 データベースが の場合、 OFFLINE
対応する行は低い特権を持つユーザーには表示されません。 データベースが OFFLINE
である場合、対応する行を表示するには、ユーザーが少なくともサーバー レベルの ALTER ANY DATABASE
アクセス許可、または master
データベースの CREATE DATABASE
アクセス許可を持っている必要があります。
列名 | データ型 | 説明 |
---|---|---|
name | sysname | SQL Server のインスタント内または Azure SQL Database サーバー内で一意なデータベースの名前。 |
database_id | int | SQL Server のインスタント内または Azure SQL Database サーバー内で一意なデータベースの ID。 |
source_database_id | int | NULL 以外 = このデータベース スナップショットのソース データベースの ID です。 NULL = データベース スナップショットではありません。 |
owner_sid | varbinary(85) | サーバーに登録したデータベースの外部所有者の SID (セキュリティ識別子) です。 データベースを所有できるユーザーの詳細については、「ALTER AUTHORIZATION」の 「データベースに対する ALTER AUTHORIZATION」セクションを参照してください。 |
create_date | datetime | データベースの作成または名前の変更を行った日付です。 の場合 tempdb 、この値はサーバーが再起動されるたびに変更されます。 |
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 110 - SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL 120 - SQL Server 2014 (12.x) 以降のバージョン、およびデータベースAzure SQL 130 - SQL Server 2016 (13.x) 以降のバージョン、およびデータベースAzure SQL 140 - SQL Server 2017 (14.x) 以降のバージョン、およびデータベースAzure SQL 150 - SQL Server 2019 (15.x) 以降のバージョン、およびデータベースAzure SQL 160 - SQL Server 2022 (16.x) 以降のバージョン、およびデータベースAzure SQL |
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 は ON です。 0 = AUTO_CLOSE は OFF です。 |
is_auto_shrink_on | bit | 1 = AUTO_SHRINK は ON です。 0 = AUTO_SHRINK は OFF です。 |
状態 | 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_states の database_state または database_state_desc 列のクエリを実行します。1適用対象: SQL Server 2008 (10.0.x) 以降のバージョン、およびデータベースAzure SQL 2適用対象: Azure SQL Database のアクティブ geo レプリケーション |
state_desc | nvarchar(60) | データベースの状態の説明。 状態を確認します。 |
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 です。 読み取りコミット済み分離レベルでの読み取り操作は、スナップショット スキャンに基づいており、ロックは取得されません。 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 は 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 は 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 = データベースが信頼できるとマークされていません 既定では、復元された、またはアタッチされたデータベースの Trustworthy は有効になっていません。 |
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_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 = なし 1 = チェックポイント (データベースにメモリ最適化データ ファイル グループがある場合、 log_reuse_wait 列は checkpoint または xtp_checkpoint を示します) 12 = ログ バックアップ 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 (データベースにメモリ最適化データ ファイル グループがある場合、 log_reuse_wait 列は checkpoint または xtp_checkpoint を示します) 417 = 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 レプリケーション DATABASE_SNAPSHOT_CREATION LOG_SCAN AVAILABILITY_REPLICA OLDEST_PAGE XTP_CHECKPOINT SLOG_SCAN |
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 = 暗号化されていない データベース暗号化の詳細については、「Transparent Data Encryption (TDE)」を参照してください。 データベースで暗号化解除の処理が実行中の場合、 is_encrypted は値 0 を示します。 データベースの暗号化処理の状態を確認するには、sys.dm_database_encryption_keys 動的管理ビューを使用します。 |
is_honor_broker_priority_on | bit | データベースが会話の優先順位を尊重するかどうかを示します (ALTER DATABASE SET HONOR_BROKER_PRIORITY 句を使用して最後に設定された状態を反映します)。 値は、次のいずれかです。1 = HONOR_BROKER_PRIORITY は ON です。 0 = HONOR_BROKER_PRIORITY は OFF です。 既定では、復元されたデータベースまたはアタッチされたデータベースのブローカー優先順位はオフになっています。 |
replica_id | uniqueidentifier | データベースが参加している可用性グループ (存在する場合) のローカル Always On 可用性グループの可用性レプリカの一意識別子。 NULL = データベースは、可用性グループ内の の可用性レプリカの一部ではありません。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
group_database_id | uniqueidentifier | データベースが参加している Always On 可用性グループ (存在する場合) 内のデータベースの一意識別子です。 group_database_id は、プライマリ レプリカ上のこのデータベースと、データベースが可用性グループに参加しているすべてのセカンダリ レプリカ上のデータベースで同じです。 NULL = データベースは、可用性グループ内の可用性レプリカの一部ではありません。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
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 |
default_language_name | nvarchar(128) | 包含データベースの既定の言語を示します。 非包含データベースの場合、この値は null です。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
default_fulltext_language_lcid | int | 包含データベースの既定のフルテキスト言語のロケール ID (lcid) を示します。 注:[既定のフルテキスト言語] サーバー構成オプションを構成する sp_configure として機能します。 非包含データベースの場合、この値は null です。適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
default_fulltext_language_name | nvarchar(128) | 包含データベースの既定のフルテキスト言語を示します。 非包含データベースの場合、この値は null です。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
is_nested_triggers_on | bit | 包含データベースで入れ子になったトリガーが許可されるかどうかを示します。 0 = 入れ子になったトリガーは許可されません 1 = 入れ子になったトリガーは許可されます。 注:[入れ子になったトリガー] サーバー構成オプションを構成する sp_configure として機能します。 非包含データベースの場合、この値は null です。 詳細については、「 sys.configurations (Transact-SQL)」を参照してください。適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
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 の範囲の数値を示します。 注:[2 桁表記の年の基準になる年] サーバー構成オプションを構成する sp_configure として機能します。 非包含データベースの場合、この値は null です。 詳細については、「 sys.configurations (Transact-SQL)」を参照してください。適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL |
containment | tinyint (null 値以外) | データベースの包含状態を示します。 0 = データベースの包含がオフ。 適用対象: SQL Server 2012 (11.x) 以降のバージョン、およびデータベースAzure SQL 1 = database is in partial containment Applies to: 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 データベース |
catalog_collation_type_desc | nvarchar(60) | カタログ照合順序の設定: COLLATE SQL_Latin_1_General_CP1_CI_AS 適用対象: Azure SQL データベース |
physical_database_name | nvarchar(128) | SQL Server の場合、データベースの物理名。 Azure SQL Database の場合、サーバー上のデータベースの共通 ID。 適用対象: 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 |
is_tempdb_spill_to_remote_store | bit | リモート ストアへのスピルが有効かどうかを tempdb 示します。1 = 有効 0 = 無効 適用対象: Azure Synapse Analytics Gen2。 この機能がすべてのリージョンに展開されている間は、インスタンスにデプロイされているバージョンと、最新のAzure Synapseリリース ノートと Gen2 アップグレード スケジュールで機能の可用性を確認してください。 |
is_stale_page_detection_on | bit | 古いページ検出が有効かどうかを示します。 1 = 古いページ検出は有効 0 = 古いページ検出は無効 適用対象: Azure Synapse Analytics Gen2。 この機能がすべてのリージョンに展開されている間は、インスタンスにデプロイされているバージョンと、最新のAzure Synapseリリース ノートと Gen2 アップグレード スケジュールで機能の可用性を確認してください。 |
is_memory_optimized_enabled | bit | ハイブリッド バッファー プールなど、特定の In-Memory 機能がデータベースに対して有効になっているかどうかを示します。 イン メモリ OLTP の可用性または構成状態は反映されません。 1 = メモリ最適化機能は有効 0 = メモリ最適化機能は無効 適用対象: SQL Server 2019 (15.x) 以降のバージョン、およびデータベースAzure SQL |
is_ledger_on | bit | 台帳データベースを示します。これは、すべてのユーザー テーブルが台帳テーブルであるデータベースです (すべての顧客データベースは改ざんが明らかになります)。 適用対象: SQL Server 2022 (16.x)、Azure SQL Database 以降 |
アクセス許可
の呼び出し元sys.databases
がデータベースの所有者ではなく、データベースが または tempdb
でないmaster
場合、対応する行を表示するために必要な最小限のアクセス許可はALTER ANY DATABASE
、またはVIEW ANY DATABASE
データベース内master
のサーバー レベルのアクセス許可またはCREATE DATABASE
アクセス許可です。 呼び出し元が接続しているデータベースは常に sys.databases
で確認できます。
重要
既定では、パブリック ロールにはVIEW ANY DATABASE
アクセス許可があり、すべてのログインでデータベース情報を表示できます。 ログインでデータベースが検出されるのを阻止するには、public
から VIEW ANY DATABASE
アクセス許可を REVOKE
するか、または、個々のログインに対して VIEW ANY DATABASE
アクセス許可を DENY
します。
Azure SQL データベース 解説
Azure SQL Database では、master
データベースとユーザー データベースでこのビューを使用できます。 master
データベースでは、master
データベースとサーバー上のすべてのユーザー データベースに関する情報がこのビューに返されます。 ユーザー データベースでは、このビューは現在のデータベースと master
データベースに関する情報のみを返します。
新しいデータベースが作成される Azure SQL Database サーバー サーバーの master
データベースの sys.databases
ビューを使用します。 データベースのコピーが開始されたら、コピー先サーバーのデータベースから master
ビューと sys.dm_database_copies
ビューに対してクエリを実行sys.databases
して、コピーの進行状況に関する詳細情報を取得できます。
例
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;