ログ配布のセカンダリへのフェールオーバー (SQL Server)

適用対象:SQL Server

ログ配布のセカンダリへのフェールオーバーは、プライマリ サーバー インスタンスが失敗した場合、またはプライマリ サーバー インスタンスにメンテナンスが必要な場合に役立ちます。

制御されたフェールオーバーの準備

プライマリ データベースは最新のバックアップ ジョブの後も更新され続けるため、通常、プライマリ データベースとセカンダリ データベースは同期されていません。 また、場合によっては、最新のトランザクション ログのバックアップは、セカンダリ サーバー インスタンスにコピーされていなかったり、コピーされたログのバックアップの一部がセカンダリ データベースにまだ適用されていない可能性があります。 可能な場合は、すべてのセカンダリ データベースをプライマリ データベースに同期することから開始することをお勧めします。

ログ配布ジョブの詳細については、「ログ配布について (SQL Server)」を参照してください。

フェールオーバー

セカンダリ データベースにフェールオーバーするには、次の操作を行います。

  1. バックアップ共有からコピーされていないバックアップ ファイルを、各セカンダリ サーバーのコピー先フォルダーにコピーします。

  2. 適用されていないトランザクション ログのバックアップを、各セカンダリ データベースに順に適用します。 詳細については、「トランザクション ログ バックアップの適用 (SQL Server)」を参照してください。

  3. プライマリ データベースにアクセスできる場合は、アクティブなトランザクション ログをバックアップし、そのログのバックアップをセカンダリ データベースに適用します。 復元コマンドを発行する前に排他アクセスを取得し、復元の完了後にマルチユーザーに切り替えるには、データベースをシングル ユーザー モードに設定しなければならない場合があります。

    元のプライマリ サーバー インスタンスが破損していない場合は、WITH NORECOVERY を使用してプライマリ データベースのトランザクション ログの末尾をバックアップします。 これにより、データベースは復旧状態で維持されるので、ユーザーは使用できなくなります。 最終的には、置換プライマリ データベースからトランザクション ログのバックアップを適用することにより、このデータベースをロールフォワードできるようになります。

    詳細については、「トランザクション ログ バックアップ (SQL Server)」を参照してください。

  4. セカンダリ サーバーが同期された後は、任意のサーバーのセカンダリ データベースを復旧し、そのサーバー インスタンスにクライアントをリダイレクトすることによって、そのサーバーにフェールオーバーできます。 復旧によって、データベースは一貫性のある状態になり、オンラインになります。

    注意

    セカンダリ データベースを使用可能にするときは、そのデータベースのメタデータと元のプライマリ データベースのメタデータに一貫性があることを確認します。 詳細については、「データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)」を参照してください。

  5. セカンダリ データベースを復旧した後は、そのデータベースが他のセカンダリ データベースのプライマリ データベースとして機能するように再構成できます。

    他に使用できるセカンダリ データベースがない場合の詳細については、「ログ配布の構成 (SQL Server)」を参照してください。

Related Tasks

参照

ログ配布テーブルとストアド プロシージャ
ログ配布について (SQL Server)
ログ末尾のバックアップ (SQL Server)