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