sys.database_ミラー (Transact-SQL)

適用対象:SQL Server

SQL Server のインスタンス内のデータベースごとに 1 つの行が含まれます。 データベースが ONLINE でない場合、またはデータベースのミラーが有効になっていない場合、database_idを除くすべての列の値は NULL になります。

master または tempdb 以外のデータベースの行を表示するには、データベース所有者であるか、少なくとも ALTER ANY DATABA Standard Edition または VIEW ANY DATABA Standard Edition サーバー レベルのアクセス許可、またはマスター データベースの CREATE DATABA Standard Edition 権限が必要です。 ミラー データベースで NULL 以外の値を表示するには、sysadmin 固定サーバー ロールのメンバーである必要があります。

Note

データベースがミラーに関与しない場合、先頭に "ミラー ing_" が付いた列はすべて NULL になります。

列名 データ型 説明
database_id int データベースの ID です。 SQL Server のインスタンス内で一意です。
ミラー ing_guid uniqueidentifier ミラーパートナーシップの ID。

NULL= データベースにアクセスできないか、ミラーされていません。

注: データベースがミラーに関与していない場合、先頭に "ミラー ing_" が付いているすべての列は NULL になります。
ミラー ing_state tinyint ミラー データベースとデータベース ミラー セッションの状態。

0 = 中断

1 = 他のパートナーから切断

2 = 同期中

3 = 保留中のフェールオーバー

4 = 同期済み

5 = パートナーが同期されていません。 現在、フェールオーバーは実行できません。

6 = パートナーが同期されています。 フェールオーバーが可能である可能性があります。 フェールオーバーの要件については、「 データベース ミラーリングの動作モード」を参照してください。

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_state_desc nvarchar(60) ミラー データベースとデータベース ミラー セッションの状態の説明には、次のいずれかを指定できます。

DISCONNECTED

SYNCHRONIZED

SYNCHRONIZING

PENDING_FAILOVER

SUSPENDED

非同期

SYNCHRONIZED

NULL

詳細については、「ミラーリング状態 (SQL Server)」を参照してください。
ミラー ing_role tinyint データベース ミラーリング セッションにおけるローカル データベースの現在のロールです。

1 = プリンシパル

2 = ミラー

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_role_desc nvarchar(60) ミラー化におけるローカル データベースのロールの説明。次のいずれかになります。

PRINCIPAL

MIRROR
ミラー ing_role_sequence int フェールオーバーまたは強制サービスにより、ミラーパートナーがプリンシパルロールとミラーロールを切り替えた回数。

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_safety_level tinyint ミラー データベースの更新のセーフ設定:

0 = 状態不明

1 = オフ [非同期]

2 = 完全 [同期]

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_safety_level_desc nvarchar(60) ミラー データベースの更新に関するトランザクションの安全性の設定。次のいずれかになります。

UNKNOWN

OFF

FULL

NULL
ミラー ing_safety_sequence int トランザクションの安全性レベルの変更のシーケンス番号を更新します。

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_partner_name nvarchar(128) データベース ミラーリング パートナーのサーバー名。

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_partner_instance nvarchar(128) 他のパートナーに対するインスタンス名とコンピューター名。 クライアントは、パートナーがプリンシパル サーバーになる場合に、この情報をパートナーに接続する必要があります。

NULL= データベースにアクセスできないか、ミラー化されていません。
mirroring_witness_name nvarchar(128) データベース ミラーリング監視サーバーのサーバー名。

NULL = ミラーリング監視サーバーが存在しません。
mirroring_witness_state tinyint データベースのセッションミラーデータベース内のミラーリング監視サーバーの状態は、次のいずれかになります。

0 = 不明

1 = 接続済み

2 = 切断済み

NULL = ミラーリング監視サーバーが存在しない、データベースがオンラインでない、またはデータベースがミラーされていない。
ミラー ing_witness_state_desc nvarchar(60) 状態の説明は、次のいずれかになります。

UNKNOWN

CONNECTED

DISCONNECTED

NULL
ミラー ing_failover_lsn numeric(25,0) 両方のパートナーのディスクに対してセキュリティが強化されていることが保証されている最新のトランザクション ログ レコードのログ シーケンス番号 (LSN)。 フェールオーバー後、新しいミラー サーバーが新しいミラー データベースと新しいプリンシパル データベースの同期を開始する調整ポイントとして、パートナーによってミラー ing_failover_lsnが使用されます。
ミラー ing_connection_timeout int ミラーリング接続のタイムアウト (秒単位)。 これは、パートナーまたはミラーリング監視サーバーからの返信を待機する秒数です。この時間を過ぎるとパートナーまたはミラーリング監視サーバーは使用できないものと見なされます。 タイムアウトの既定値は 10 秒です。

NULL= データベースにアクセスできないか、ミラー化されていません。
ミラー ing_redo_queue int ミラー化で再実行されるログの最大サイズ。 ミラー ing_redo_queue_typeが UNLIMITED (既定の設定) に設定されている場合、この列は NULL になります。 データベースがオンラインでない場合も、この列は NULL になります。

上記以外の場合、この列にはログの最大サイズ (MB 単位) が格納されます。 最大値に達すると、ミラー サーバーが追いつくと、ログはプリンシパルで一時的にストールします。 この機能により、フェールオーバー時間が制限されます。

詳しくは、「役割の交代中に発生するサービスの中断時間の算出 (データベース ミラーリング)」を参照してください。
ミラー ing_redo_queue_type nvarchar(60) UNLIMITED は、ミラーが再実行キューを阻害しないことを示します。 これが既定の設定です。

再実行キューの最大サイズをメガ バイト単位でMB (メガバイト)します。 キューサイズがキロバイトまたはギガバイトとして指定された場合、データベース エンジンは値をメガバイトに変換します。

データベースがオンラインでない場合、この列は NULL です。
ミラー ing_end_of_log_lsn numeric(25,0) ディスクにフラッシュされたローカルのログの終わり。 これは、ミラー サーバーの堅牢化された LSN に相当します (ミラー ing_failover_lsn列を参照)。
ミラー ing_replication_lsn numeric(25,0) レプリケーションが送信できる最大 LSN。

アクセス許可

カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されたセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。

参照

カタログ ビュー (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sys.database_mirroring_witnesses (Transact-SQL)
sys.database_mirroring_endpoints (Transact-SQL)
データベースとファイルのカタログ ビュー (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよく寄せられる質問