sys.databases (Transact-SQL)
Microsoft SQL Server のインスタンスまたは Windows Azure SQL データベース サーバーに、データベースごとに 1 行のデータを保持します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
データベースが ONLINE ではない場合、または AUTO_CLOSE が ON に設定されていて、データベースが閉じられている場合、いくつかの列の値が NULL になる可能性があります。 データベースが OFFLINE である場合、対応する行は権限の低いユーザーに対して表示されません。 データベースが OFFLINE の場合に対応する行を表示するには、ユーザーは少なくとも、master データベースで ALTER ANY DATABASE のサーバーレベルの権限、または CREATE DATABASE 権限を持っている必要があります。
列名 |
データ型 |
説明 |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
sysname |
SQL Server のインスタンス内、または Windows Azure SQL データベース サーバー内で一意な、データベースの名前。 |
||||||||||||||
database_id |
int |
SQL Server のインスタンス内、または Windows Azure SQL データベース サーバー内で一意な、データベースの識別子。 |
||||||||||||||
source_database_id |
int |
NULL 以外 = このデータベース スナップショットのソース データベースの ID です。 NULL = データベース スナップショットではありません。 |
||||||||||||||
owner_sid |
varbinary(85) |
サーバーに登録したデータベースの外部所有者の SID (セキュリティ識別子) です。 |
||||||||||||||
create_date |
datetime |
データベースの作成または名前の変更を行った日付です。 tempdb では、この値はサーバーが再起動されるたびに変わります。 |
||||||||||||||
compatibility_level |
tinyint |
動作に互換性のある SQL Server のバージョンに対応する整数です。
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 7 = COPYING (Windows Azure SQL データベースに適用) Windows Azure SQL データベースは、0、1、4、7 の状態を返します。
|
||||||||||||||
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 です。 READ COMMITTED 分離レベルでの読み取り操作は、スナップショット スキャンに基づいており、ロックを取得しません。 0 = READ_COMMITTED_SNAPSHOT オプションは OFF です (既定)。 READ COMMITTED 分離レベルでの読み取り操作は、共有ロックを使用します。 |
||||||||||||||
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 オプション設定の説明です。 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 |
この列は使用されません。 データベースのサブスクライバーの状態に関係なく、常に 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 = AlwaysOn 可用性グループ セカンダリ レプリカが、このデータベースのトランザクション ログ レコードを対応するセカンダリ データベースに適用しています。 適用対象: SQL Server 2012 から SQL Server 2012。 以前のバージョンの SQL Server では、9 = その他 (一時的)。 10 = 内部使用のみ 11 = 内部使用のみ 12 = 内部使用のみ 13 = 最古のページ 適用対象: SQL Server 2012 から SQL Server 2012。 14 = その他 (一時的) 適用対象: SQL Server 2012 から SQL Server 2012。 |
||||||||||||||
log_reuse_wait_desc |
nvarchar(60) |
現在待機中の、トランザクション ログ領域の再利用の理由の説明です。
|
||||||||||||||
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_honor_broker_priority_on |
bit |
データベースでメッセージ交換の優先度が適用されるかどうかを示します (ALTER DATABASE SET HONOR_BROKER_PRIORITY 句を使用して最後に設定された状態を表します)。 次の値のいずれかです。 1 = HONOR_BROKER_PRIORITY は ON です。 0 = HONOR_BROKER_PRIORITY は OFF です。 |
||||||||||||||
replica_id |
uniqueidentifier |
データベースが参加している可用性グループ (存在する場合) のローカル AlwaysOn 可用性グループ 可用性レプリカの一意の識別子です。 NULL = データベースは可用性グループの可用性レプリカの一部ではありません。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
group_database_id |
uniqueidentifier |
データベースが参加している AlwaysOn 可用性グループ (存在する場合) 内のデータベースの一意の識別子です。 group_database_id は、プライマリ レプリカのこのデータベースのものと、データベースが可用性グループに参加しているすべてのセカンダリ レプリカのこのデータベースのもので同じです。 NULL = データベースは、どの可用性グループの可用性レプリカの一部でもありません。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
default_language_lcid |
smallint |
包含データベースの既定の言語のローカル ID (LCID) を示します。 メモ sp_configure の default language サーバー構成オプションの構成として機能します。 非包含データベースの場合、この値は null です。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
default_language_name |
nvarchar(128) |
包含データベースの既定の言語を示します。 非包含データベースの場合、この値は null です。 |
||||||||||||||
default_fulltext_language_lcid |
int |
包含データベースの既定のフルテキスト言語のローカル ID (LCID) を示します。 メモ sp_configure の既定の default full-text language サーバー構成オプションの構成として機能します。 非包含データベースの場合、この値は null です。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
default_fulltext_language_name |
nvarchar(128) |
包含データベースの既定のフルテキスト言語を示します。 非包含データベースの場合、この値は null です。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
is_nested_triggers_on |
ビット |
包含データベースで入れ子になったトリガーが許可されるかどうかを示します。 0 = 入れ子になったトリガーは許可されません。 1 = 入れ子になったトリガーは許可されます。 メモ sp_configure の nested triggers サーバー構成オプションの構成として機能します。 非包含データベースの場合、この値は null です。 詳細については、「sys.configurations (Transact-SQL)」を参照してください。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
is_transform_noise_words_on |
ビット |
包含データベースでノイズ ワードを変換する必要があるかどうかを示します。 0 = ノイズ ワードは変換する必要がありません。 1 = ノイズ ワードは変換する必要があります。 適用対象: SQL Server 2012 から SQL Server 2012。 メモ sp_configure の transform noise words サーバー構成オプションとして機能します。 非包含データベースの場合、この値は null です。 詳細については、「sys.configurations (Transact-SQL)」を参照してください。 |
||||||||||||||
two_digit_year_cutoff |
smallint |
2 桁の数字を 4 桁の西暦として解釈する場合の区切りの年を表す 1753 ~ 9999 の範囲の数値を示します。 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 メモ sp_configure の two digit year cutoff サーバー構成オプションの構成として機能します。 非包含データベースの場合、この値は null です。 詳細については、「sys.configurations (Transact-SQL)」を参照してください。 |
||||||||||||||
containment |
tinyint not null |
データベースの包含状態を示します。 0 = データベースの包含がオフ 1 = データベースは部分的な包含 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
containment_desc |
nvarchar(60) not null |
データベースの包含状態を示します。 NONE = 従来のデータベース (包含なし) PARTIAL = 部分的包含データベース 適用対象: SQL Server 2012 から SQL Server 2012 および SQL データベース。 |
||||||||||||||
target_recovery_time_in_seconds |
int |
データベースの復旧にかかる推定時間 (秒単位) です。 NULL 値は許可されます。 適用対象: SQL Server 2012 から SQL Server 2012。 |
||||||||||||||
is_federation_member |
bit |
データベースがフェデレーションのメンバーであるかどうかを示します。
|
権限
sys.databases の呼び出し元がデータベースの所有者ではなく、データベースが master でも tempdb でもない場合、対応する行を表示するには、少なくとも master データベースで、ALTER ANY DATABASE または VIEW ANY DATABASE のサーバーレベルの権限、あるいは、CREATE DATABASE の権限が必要です。 呼び出し元が接続しているデータベースは常に sys.databases で確認できます。
Windows Azure SQL データベース 解説
Windows Azure SQL データベースでは、このビューは master データベースとユーザー データベースで使用できます。 master データベースでは、このビューには、サーバーの master データベースとすべてのユーザー データベースの情報が返されます。 ユーザー データベースでは、このビューには、現在のデータベースと master データベースのみの情報が返されます。
新しいデータベースを作成する Windows Azure SQL データベース サーバーの master データベース内の sys.databases ビューを使用します。 データベースのコピー開始後、コピー先サーバーの master データベースに sys.databases および sys.dm_database_copies ビューのクエリを実行して、コピーの進行状況に関する詳細情報を取得できます。
使用例
A. sys.databases ビューに対するクエリ
次の例は、sys.databases ビューで利用できる列のいくつかを返します。
適用対象: SQL Server 2008 から SQL Server 2012 および Windows Azure SQL データベース。 |
SELECT name, user_access_desc, is_read_only, state_desc, recovery_model_desc
FROM sys.databases;
B. Windows Azure SQL データベース でのコピーの進行状況を確認します。
次の例では、sys.databases および sys.dm_database_copies ビューのクエリを実行し、データベースのコピー操作に関する情報を返します。
適用対象: Windows Azure SQL データベース |
-- Execute from the master database.
SELECT a.name, a.state_desc, b.start_date, b.modify_date, b.percentage_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;
関連項目
参照
sys.database_mirroring_witnesses (Transact-SQL)
sys.database_recovery_status (Transact-SQL)
データベースとファイルのカタログ ビュー (Transact-SQL)