ミラーリング状態 (SQL Server)

適用対象: SQL サーバー

データベース ミラーリング セッション中、ミラー化されたデータベースは常に特定の状態 ( ミラーリング状態) にあります。 データベースの状態は、通信状態、データ フロー、およびパートナー間のデータの違いを反映します。 データベース ミラーリング セッションには、プリンシパル データベースと同じ状態が採用されます。

各サーバー インスタンスは、データベース ミラーリング セッション全体を通して相互に監視します。 各パートナーは、ミラーリング状態を使用してデータベースを監視します。 プリンシパル データベースとミラー データベースは、フェールオーバー保留中状態の場合を除いて常に同じ状態になります。 ミラーリング監視サーバーがセッションに対して設定されている場合、各パートナーは、それぞれの接続状態 (接続または切断) を使用してミラーリング監視サーバーを監視します。

次の表に、考えられるミラーリング状態を示します。

ミラーリング状態 説明
SYNCHRONIZING ミラー データベースの内容が、プリンシパル データベースの内容に遅れています。 プリンシパル サーバーからミラー サーバーにログ レコードを送信しています。ミラー サーバーでは、ミラー データベースをロールフォワードするために変更を適用しています。

データベース ミラーリング セッションの開始時、データベースは同期中状態にあります。 プリンシパル サーバーはデータベースとして機能しており、ミラー サーバーは遅延を解消しようとしています。
SYNCHRONIZED ミラー サーバーがプリンシパル サーバーとの遅延を解消すると、ミラーリング状態が同期状態になります。 プリンシパル サーバーがミラー サーバーに変更を送信し、ミラー サーバーがミラー データベースに変更を適用する、という処理が継続されている限り、データベースはこの状態のままです。

トランザクションの安全性が FULL に設定されている場合、同期状態では自動フェールオーバーと手動フェールオーバーの両方がサポートされます。フェールオーバー後のデータの損失はありません。

トランザクションの安全性が無効な場合は、同期状態の場合でも、一部データの損失の可能性が常にあります。

SQL Server Management Studio で、データベースの状態は [復元中] と表示されます。 実際の状態については、sys.database_mirroringmirroring_state_desc 列をクエリしてください。
SUSPENDED データベースのミラー コピーは使用できない状態です。 プリンシパル データベースがミラー サーバーにログを送信せずに、実行されています。この状態を 不安定な実行と呼びます。 この状態はフェールオーバー後に発生します。

また、セッションは、再実行エラーの結果として、または管理者がセッションを一時停止した場合、中断状態になることがあります。

中断状態は持続状態であり、パートナーがシャットダウンや起動を行っても保持されます。
PENDING_FAILOVER この状態は、フェールオーバーが開始された後、サーバーがまだミラーの役割に移行していない状態であり、プリンシパル サーバーだけで発生します。

フェールオーバーが開始されると、プリンシパル データベースはフェールオーバー保留中状態になり、すべてのユーザー接続をすばやく終了し、その後すぐにミラーの役割を引き継ぎます。
DISCONNECTED パートナーが、他のパートナーと通信できなくなった状態です。

参照

データベース ミラーリングの監視 (SQL Server)