ミラーリング状態 (SQL Server)
データベース ミラーリング セッション中、ミラー化されたデータベースは常に特定の状態 (ミラーリング状態) にあります。 データベースの状態は、通信状態、データ フロー、およびパートナー間のデータの違いを反映します。 データベース ミラーリング セッションには、プリンシパル データベースと同じ状態が採用されます。
各サーバー インスタンスは、データベース ミラーリング セッション全体を通して相互に監視します。 各パートナーは、ミラーリング状態を使用してデータベースを監視します。 プリンシパル データベースとミラー データベースは、フェールオーバー保留中状態の場合を除いて常に同じ状態になります。 ミラーリング監視サーバーがセッションに対して設定されている場合、各パートナーは、それぞれの接続状態 (接続または切断) を使用してミラーリング監視サーバーを監視します。
次の表に、考えられるミラーリング状態を示します。
ミラーリング状態 |
説明 |
---|---|
同期中 |
ミラー データベースの内容はプリンシパル データベースの内容よりも古いものです。 プリンシパル サーバーからミラー サーバーにログ レコードを送信しています。ミラー サーバーでは、ミラー データベースをロールフォワードするために変更を適用しています。 データベース ミラーリング セッションの開始時、データベースは同期中状態にあります。 プリンシパル サーバーはデータベースとして機能しており、ミラー サーバーは遅延を解消しようとしています。 |
同期 |
ミラー サーバーがプリンシパル サーバーとの遅延を解消すると、ミラーリング状態が同期状態になります。 プリンシパル サーバーがミラー サーバーに変更を送信し、ミラー サーバーがミラー データベースに変更を適用する、という処理が継続されている限り、データベースはこの状態のままです。 トランザクションの安全性が FULL に設定されている場合、同期状態では自動フェールオーバーと手動フェールオーバーの両方がサポートされます。フェールオーバー後のデータの損失はありません。 トランザクションの安全性が無効な場合は、同期状態の場合でも、一部データの損失の可能性が常にあります。 |
中断 |
データベースのミラー コピーは使用できない状態です。 プリンシパル データベースがミラー サーバーにログを送信せずに、実行されています。この状態を不安定な実行と呼びます。 この状態はフェールオーバー後に発生します。 また、セッションは、再実行エラーの結果として、または管理者がセッションを一時停止した場合、中断状態になることがあります。 中断状態は持続状態であり、パートナーがシャットダウンや起動を行っても保持されます。 |
フェールオーバー保留中 |
この状態は、フェールオーバーが開始された後、サーバーがまだミラーの役割に移行していない状態であり、プリンシパル サーバーだけで発生します。 フェールオーバーが開始されると、プリンシパル データベースはフェールオーバー保留中状態になり、すべてのユーザー接続をすばやく終了し、その後すぐにミラーの役割を引き継ぎます。 |
切断 |
パートナーが、他のパートナーと通信できなくなった状態です。 |