サーバー インスタンスのアップグレード時に、ミラー化されたデータベースのダウンタイムを最小化する

サーバー インスタンスを SQL Server 2005 または SQL Server 2008 から SQL Server 2012 にアップグレードするときに、ローリング アップグレードと呼ばれる順次アップグレードを実行することにより、ミラー化された各データベースのダウンタイムを手動フェールオーバー 1 回分のみに抑えることができます。 ローリング アップグレードは複数の段階から成るプロセスです。最も単純な形式では、ミラーリング セッションで現在ミラー サーバーとして機能しているサーバー インスタンスをアップグレードした後、ミラー化されたデータベースを手動でフェールオーバーし、以前のプリンシパル サーバーをアップグレードして、ミラーリングを再開します。 実際に実行するプロセスは、動作モードと、アップグレードするサーバー インスタンスで実行しているミラーリング セッションの数やレイアウトによって異なります。

注意

ローリング アップグレードによる Service Pack や修正プログラムのインストールについては、「ミラー化されたデータベースのダウンタイムを最小限に抑えた Service Pack のシステムへのインストール」を参照してください。

推奨される準備 (ベスト プラクティス)

ローリング アップグレードを開始する前に以下を実行することをお勧めします。

  1. 少なくとも 1 つのミラーリング セッションで試験的に手動フェールオーバーを実行します。

    注意

    手動フェールオーバーの動作については、「データベース ミラーリング セッション中の役割の交代 (SQL Server)」を参照してください。

  2. データを保護します。

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

      データベースの完全バックアップの作成 (SQL Server).

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

ローリング アップグレードの段階

ローリング アップグレードの個々の段階は、ミラーリング構成の動作モードによって異なります。 ただし、基本的な段階は同じです。

注意

動作モードの詳細については、「データベース ミラーリングの動作モード」を参照してください。

次の図は、動作モードごとにローリング アップグレードの基本的な段階をフローチャートで示したものです。 図の後で、対応する各手順について説明します。

ローリング アップグレードの手順のフローチャート

重要な注意事項重要

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

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

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

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

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

    注意

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

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

    • サーバー インスタンスがそのすべてのミラーリング セッションにおいて既にミラー サーバーとして機能している場合、そのサーバー インスタンスを新しいバージョンにアップグレードします。

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

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

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

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

    アップグレードしたサーバー インスタンスに対するフェールオーバー後の制限

    SQL Server 2005 または SQL Server 2008 のサーバー インスタンスから SQL Server 2012 のサーバー インスタンスにフェールオーバーした後は、データベース セッションが中断されます。 もう一方のパートナーがアップグレードされるまで再開できません。 ただし、プリンシパル サーバーは引き続き接続を受け入れ、プリンシパル データベースに対するデータのアクセスや変更は許可されます。

    注意

    新しいミラーリング セッションを確立するには、すべてのサーバー インスタンスが同じバージョンの SQL Server を実行している必要があります。

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

  4. すべてのミラーリング セッションにおいて、現在ミラー サーバー (パートナー) となっている各サーバー インスタンスをアップグレードします。 場合によっては、この時点で複数のサーバーを更新する必要があります。

    重要な注意事項重要

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

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

    注意

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

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

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

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

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

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

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

関連項目

タスク

ミラー化されたデータベースの状態の確認 (SQL Server Management Studio)

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

データベース ミラーリング セッションでのサービスの強制 (Transact-SQL)

データベース ミラーリング モニターの起動 (SQL Server Management Studio)

参照

ALTER DATABASE データベース ミラーリング (Transact-SQL)

BACKUP (Transact-SQL)

概念

データベース ミラーリング (SQL Server)

データベース ミラーリング セッション中の役割の交代 (SQL Server)

データベース ミラーリングの動作モード