Share via


ミラー化されたデータベースのダウンタイムを最小限に抑えて Service Pack をシステムにインストールする方法

このトピックでは、Service Pack および修正プログラムをインストールする際に、ミラー化されたデータベースのダウンタイムを最小限に抑える方法について説明します。このプロセスには、データベース ミラーリングに参加している SQL Server 2008 R2 のインスタンスを順次アップグレードする処理が伴います。このようなアップグレード形態をローリング アップグレードと呼びます。フェールオーバーを 1 つずつ行うことによってダウンタイムを抑えることができます。ただし、ミラー サーバーとプリンシパル サーバーが地理的に離れている高パフォーマンス モードのセッションでは、ローリング アップグレードは適しません。

ローリング アップグレードは、次の複数の段階から成るプロセスです。

  • データを保護する。

  • セッションにミラーリング監視サーバーが含まれる場合は、ミラーリング監視サーバーを削除しておくことをお勧めします。そうしないと、ミラー サーバー インスタンスをアップグレードする際のデータベースの可用性が、プリンシパル サーバー インスタンスに接続されたミラーリング監視サーバーに依存することになります。削除したミラーリング監視サーバーは、ローリング アップグレード プロセス中にいつでもアップグレードでき、また、そうすることでデータベースのダウンタイムを最小限に抑えることができます。

  • セッションが高パフォーマンス モードで動作している場合は、動作モードを高い安全性モードに変更する。

  • データベース ミラーリングに参加している各サーバー インスタンスをアップグレードする。ローリング アップグレードでは、現在ミラー サーバーであるサーバー インスタンスをアップグレードし、ミラー化された各データベースを手動でフェールオーバーして、さらに、元はプリンシパル サーバーであった (新しいミラー サーバーになる) サーバー インスタンスをアップグレードする作業が伴います。この時点で、ミラーリングを再開する必要があります。

    注意

    ローリング アップグレードを開始する前に、少なくとも 1 つのミラーリング セッションで試験的に手動フェールオーバーを実行しておくことをお勧めします。

  • 必要に応じて、高パフォーマンス モードに戻す。

  • 必要に応じて、ミラーリング監視サーバーをミラーリング セッションに戻す。

ここでは、各段階の手順について説明します。

重要な注意事項重要

同時実行ミラーリング セッションでは、1 つのサーバー インスタンスが複数の異なるミラーリング ロール (プリンシパル サーバー、ミラー サーバー、またはミラーリング監視サーバー) を実行している場合があります。この場合は、基本的なローリング アップグレード プロセスを適宜調整する必要があります。詳細については、「データベース ミラーリング セッション」を参照してください。

アップグレード前にデータを保護するには (ベスト プラクティス)

  1. すべてのプリンシパル データベースを対象にデータベースの完全バックアップを実行します。

    データベースをバックアップするには

  2. すべてのプリンシパル データベースで DBCC CHECKDB コマンドを実行します。

ミラーリング監視サーバーをセッションから削除するには

セッションを高パフォーマンス モードから高い安全性モードに変更するには

ローリング アップグレードを実行するには

  1. ローリング アップグレードを開始する際は、ダウンタイムを最小限に抑えるため、すべてのミラーリング セッションにおいてミラー サーバーとして機能しているミラーリング パートナーから先に更新することをお勧めします。場合によっては、この時点で複数のサーバー インスタンスを更新する必要があります。

    注意

    ミラーリング監視サーバーは、ローリング アップグレード プロセス中、いつでもアップグレードできます。たとえば、セッション 1 ではミラー サーバーとして、セッション 2 ではミラーリング監視サーバーとして機能しているサーバー インスタンスであれば、今すぐにアップグレードすることもできます。

    最初にアップグレードするサーバー インスタンスは、ミラーリング セッションが現在どのように構成されているかによって異なります。その指針を次に示します。

    • サーバー インスタンスがそのすべてのミラーリング セッションにおいて既にミラー サーバーとして機能している場合、そのサーバー インスタンスに Service Pack または修正プログラムをインストールします。

    • どのサーバー インスタンスもいずれかのミラーリング セッションのプリンシパル サーバーとして機能している場合は、最初にアップグレードするサーバー インスタンスを 1 つ選択します。次に、選択したサーバー インスタンスの各プリンシパル データベースを手動でフェールオーバーし、Service Pack または修正プログラムをインストールしてそのサーバー インスタンスをアップグレードします。

    アップグレード後のサーバー インスタンスは、自動的にそれぞれのミラーリング セッションに再度参加します。

    手動フェールオーバーを実行するには

    手動フェールオーバーの動作については、「手動フェールオーバー」を参照してください。

  2. 前の手順でアップグレードしたミラー サーバー インスタンスのすべてのミラーリング セッションの同期が完了するまで待ちます。次に、プリンシパル サーバー インスタンスに接続し、セッションを手動でフェールオーバーします。フェールオーバー時は、アップグレードされたサーバー インスタンスがそのセッションのプリンシパル サーバーになり、以前のプリンシパル サーバーがミラー サーバーになります。

    この手順の目的は、すべてのミラーリング セッションで、パートナー関係にある他方のサーバー インスタンスがミラー サーバーとなるようにすることです。

  3. フェールオーバー後は、プリンシパル データベースに対して DBCC CHECKDB コマンドを実行することをお勧めします。

  4. すべてのミラーリング セッションで、ミラー サーバー (パートナー) になった各サーバー インスタンスに Service Pack または修正プログラムをインストールします。場合によっては、この時点で複数のサーバーを更新する必要があります。

    重要な注意事項重要

    複雑なミラーリング構成の場合、一部のサーバー インスタンスが、1 つまたは複数のミラーリング セッションで元のプリンシパル サーバーとして機能している場合があります。これらのサーバー インスタンスについては、関係するすべてのインスタンスがアップグレードされるまで、手順 2. ~ 4. を繰り返してください。

  5. ミラーリング セッションを再開します。

    注意

    自動フェールオーバーは、ミラーリング監視サーバーがアップグレードされるまで機能しません。

  6. すべてのミラーリング セッションの残りのサーバー インスタンス (ミラーリング監視サーバー) に Service Pack または修正プログラムをインストールします。アップグレードしたミラーリング監視サーバーをミラーリング セッションに再度参加させると、自動フェールオーバーが有効になります。場合によっては、この時点で複数のサーバーを更新する必要があります。

セッションを高パフォーマンス モードに戻すには

  • 必要に応じて、高パフォーマンス モードに戻す場合は、次のいずれかの方法を使用します。

    • SQL Server Management Studio : [データベースのプロパティ] ダイアログ ボックスの [ミラーリング] ページで、[動作モード] オプションを [高パフォーマンス (非同期)] に変更します。

    • Transact-SQL : ALTER DATABASE を使用してトランザクションの安全性を OFF に設定します。

ミラーリング監視サーバーをミラーリング セッションに戻すには