手動フェールオーバー

手動フェールオーバーによりデータベースからクライアントが切断され、パートナーの役割が元に戻ります。手動フェールオーバーがサポートされているのは、高い安全性モードのみです。

ms191449.note(ja-jp,SQL.90).gifメモ :
このトピックの内容は、高い安全性モードについて理解していることを前提としています。詳細については、「同期データベース ミラーリング (高い安全性モード)」を参照してください。

アップグレード中の可用性の維持

データベース管理者は、可用性を損なうことなくハードウェアやソフトウェアをアップグレードするために、手動フェールオーバーを行うことができます。ソフトウェアをアップグレードするためにデータベース ミラーリングを使用する場合、ミラー サーバーのソフトウェア、ハードウェアのアップグレードを先に行う必要があります。

ms191449.note(ja-jp,SQL.90).gifメモ :
データベース ミラーリングではローリング アップグレードを実行できることになっていますが、将来の変更については不明であるため、この動作は保証されていません。

次の図は、データベース サーバー インスタンスをアップグレードするときに、データベースの可用性を保持するために手動フェールオーバーを使用している例を示しています。アップグレードが完了すると、管理者は必要に応じて元のサーバー インスタンスにフェールオーバーを行うことができます。これは、管理者がミラーリング セッションを停止し、他の場所にあるミラー サーバーを使用する場合に役に立ちます。この方法により、一連のデータベース サーバー インスタンスを更新するときに、1 つのサーバー インスタンスを繰り返し使用できます。

計画的な手動フェールオーバー

手動フェールオーバーでは、トランザクションの安全性が FULL に設定されていて、かつデータベースが SYNCHRONIZED 状態になっている必要があります。

手動フェールオーバーにより、次の一連の操作が開始されます。

  1. プリンシパル サーバーでは、プリンシパル データベースからクライアントが切断され、ログの末尾がミラー サーバーに送信されます。また、ミラー ロールへの切り替えの準備として、ミラーリングの状態が SYNCHRONIZING に設定されます。
  2. フェールオーバーのログ シーケンス番号 (LSN) としてプリンシパルから受信した、最後のログ レコードの LSN が、ミラー サーバーに記録されます。
    ms191449.note(ja-jp,SQL.90).gifメモ :
    この LSN を表示するには、sys.database_mirroring (Transact-SQL) から mirroring_failover_lsn 列を選択します。
  3. 再実行キューで待機しているログがある場合は、ミラー サーバーがミラー データベースのロールフォワードを完了します。必要な時間は、システムの処理速度、最近の作業負荷、および再実行キューのログの量によって異なります。同期動作モードの場合、再実行キューのサイズを制限することでフェールオーバーの時間を調節できます。ただし、同期動作モードでは、ミラー サーバーの遅れを取り戻すためにプリンシパル サーバーの処理速度が低下する場合があります。
    ms191449.note(ja-jp,SQL.90).gifメモ :
    再実行キューの現在のサイズを調べるには、データベース ミラーリング パフォーマンス オブジェクトの Redo Queue パフォーマンス カウンタを使用します (詳細については、「データベース ミラーリングの監視」を参照してください)。
  4. ミラー サーバーが新たにプリンシパル サーバーになり、前のプリンシパル サーバーが新たにミラー サーバーになります。
  5. 新しいプリンシパル サーバーでは、コミットされていないトランザクションがロールバックされ、データベースのコピーがプリンシパル データベースとしてオンラインになります。
  6. 前のプリンシパルがミラーの役割を引き継ぎ、前のプリンシパル データベースがミラー データベースになります。新しいミラー サーバーでは、新しいミラー データベースと新しいプリンシパル データベースとの再同期が迅速に実行されます。
    ms191449.note(ja-jp,SQL.90).gifメモ :
    新しいミラー サーバーによってデータベースの再同期が完了すると、再度フェールオーバーが可能になりますが、今度は反対方向にフェールオーバーされることになります。

フェールオーバー後は、クライアントから現在のプリンシパル データベースに再接続する必要があります。詳細については、「ミラー化されたデータベースへのクライアント接続」を参照してください。

手動フェールオーバーを開始するには

参照

概念

データベース ミラーリング セッション
ミラーリング状態
役割の交代中に発生するサービスの中断時間の算出
データベース ミラーリング中に発生する可能性のあるエラー
同期データベース ミラーリング (高い安全性モード)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手