sys.database_mirroring (Transact-SQL)

SQL Server のインスタンス内にあるデータベースごとに 1 行のデータを格納します。データベースがオンラインでないかデータベース ミラーリングが有効でない場合、database_id を除くすべての列の値は NULL になります。

master または tempdb 以外のデータベースの行を表示するには、データベースの所有者であるか、少なくとも ALTER ANY DATABASE または VIEW ANY DATABASE のサーバー レベルの権限が付与されているか、master データベースの CREATE DATABASE 権限が付与されている必要があります。ミラー データベースにある NULL 以外の値を表示するには、sysadmin 固定サーバー ロールのメンバである必要があります。

注意注意

データベースがミラー化の対象となっていない場合、"mirroring_" で始まるすべての列は NULL になります。

列名

データ型

説明

database_id

int

データベースの ID。SQL Server のインスタンス内で一意になっています。

mirroring_guid

uniqueidentifier

ミラー化のパートナーシップの ID。

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

注意注意
データベースがミラー化の対象となっていない場合、"mirroring_" で始まるすべての列は NULL になります。

mirroring_state

tinyint

ミラー データベースとデータベース ミラーリング セッションの状態。

0 = 一時中断

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

2 = 同期中

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

4 = 同期完了

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

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

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

mirroring_state_desc

nvarchar(60)

ミラー データベースとデータベース ミラーリング セッションの状態の説明。次のいずれかになります。

DISCONNECTED

SYNCHRONIZED

SYNCHRONIZING

PENDING_FAILOVER

SUSPENDED

UNSYNCHRONIZED

SYNCHRONIZED

NULL

詳細については、「ミラーリング状態」を参照してください。

mirroring_role

tinyint

データベース ミラーリング セッションにおけるローカル データベースの現在のロール。

1 = プリンシパル

2 = ミラー

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

mirroring_role_desc

nvarchar(60)

ミラー化におけるローカル データベースのロールの説明。次のいずれかになります。

PRINCIPAL

MIRROR

mirroring_role_sequence

int

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

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

mirroring_safety_level

tinyint

ミラー データベースの更新に関する安全性の設定。

0 = 状態不明

1 = オフ (非同期)

2 = 完全 (同期)

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

mirroring_safety_level_desc

nvarchar(60)

ミラー データベースの更新に関するトランザクションの安全性の設定。次のいずれかになります。

UNKNOWN

OFF

FULL

NULL

mirroring_safety_sequence

int

トランザクションの安全性レベルに変更が行われた場合の更新シーケンス番号。

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

mirroring_partner_name

nvarchar(128)

データベース ミラーリング パートナーのサーバー名。

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

mirroring_partner_instance

nvarchar(128)

他のパートナーに対するインスタンス名とコンピュータ名。クライアントがプリンシパル サーバーとなる場合、クライアントからパートナーに接続するにはこの情報が必要です。

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

mirroring_witness_name

nvarchar(128)

データベース ミラーリング監視サーバーのサーバー名。

NULL = ミラーリング監視サーバーが存在しない

mirroring_witness_state

tinyint

データベースのデータベース ミラーリング セッションにおけるミラーリング監視サーバーの状態。次のいずれかになります。

0 = 不明

1 = 接続

2 = 切断

NULL = ミラーリング監視サーバーが存在しないか、データベースがオンラインになっていない、またはデータベースがミラー化されていない

mirroring_witness_state_desc

nvarchar(60)

状態の説明。次のいずれかになります。

UNKNOWN

CONNECTED

DISCONNECTED

NULL

mirroring_failover_lsn

numeric(25,0)

両方のパートナーのディスクに保存されることが保証されている最新のトランザクション ログ レコードのログ シーケンス番号 (LSN)。フェールオーバー後、新しいミラー サーバーが新しいミラー データベースと新しいプリンシパル データベースとの同期を開始する際に、パートナーは mirroring_failover_lsn を同期の調整点として使用します。

mirroring_connection_timeout

int

ミラー化接続のタイムアウト (秒単位)。これは、パートナーまたはミラーリング監視サーバーからの返信を待機する秒数です。この時間を過ぎるとパートナーまたはミラーリング監視サーバーは使用できないものと見なされます。タイムアウトの既定値は 10 秒です。

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

mirroring_redo_queue

int

ミラー化で再実行されるログの最大サイズ。mirroring_redo_queue_type が既定の UNLIMITED に設定されている場合、この列は NULL になります。データベースがオンラインでない場合も、この列は NULL になります。

上記以外の場合、この列にはログの最大サイズ (MB 単位) が格納されます。最大値に到達すると、ミラー サーバーが遅れを取り戻すまで、ログはプリンシパルで一時停止されます。この機能によって、フェールオーバー時間が制限されます。

詳細については、「役割の交代中に発生するサービスの中断時間の算出」を参照してください。

mirroring_redo_queue_type

nvarchar(60)

UNLIMITED の場合、ミラー化で再実行キューが制限されないことを示します。これは既定の設定です。

MB の場合、再実行キューの最大サイズが MB 単位で制限されることを示します。キューのサイズが KB または GB 単位で指定された場合、値はデータベース エンジンによって MB 単位に変換されます。

データベースがオンラインでない場合、この列は NULL になります。

権限

SQL Server 2005 以降のバージョンでは、カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。