ミラー化されたインスタンスのアップグレード

適用対象:SQL Server

SQL Server のミラー化されたインスタンスを新しいバージョン、新しい SQL Server サービス パックまたは累積的な更新プログラム、あるいは新しい Windows サービス パックまたは累積的な更新プログラムにアップグレードする場合、ローリング アップグレードを実行して、ミラー化された各データベースのダウンタイムを 1 回の手動フェールオーバーのみに (または、元のプライマリにフェールバックする場合は 2 回の手動フェールオーバーに) 減らすことができます。 ローリング アップグレードは複数の段階から成るプロセスです。最も単純な形式では、ミラーリング セッションで現在ミラー サーバーとして機能している SQL Server インスタンスをアップグレードした後、ミラー化されたデータベースを手動でフェールオーバーし、以前のプリンシパル SQL Server インスタンスをアップグレードして、ミラーリングを再開します。 実際に実行するプロセスは、動作モードと、アップグレードする SQL Server インスタンスで実行しているミラーリング セッションの数やレイアウトによって異なります。

注意

移行中にデータベース ミラーリングとログ配布を併用する方法については、 データベース ミラーリングとログ配布に関するホワイト ペーパーをダウンロードしてください。

前提条件

作業を開始する前に、次の重要な情報を確認してください。

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

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

    注意

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

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

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

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

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

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

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

注意

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

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

Flowchart showing steps of a rolling upgrade

重要

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

注意

多くの場合、ローリング アップグレードの完了後は、元のプリンシパル サーバーにフェールバックします。

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

  1. ミラーリング セッションを高パフォーマンス モードで実行している場合は、ローリング アップグレードを実行する前に、動作モードを、自動フェールオーバーを伴わない高い安全性モードに変更します。

    重要

    ミラー サーバーとプリンシパル サーバーが地理的に離れている場合は、ローリング アップグレードは適しません。

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

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

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

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

    注意

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

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

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

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

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

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

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

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

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

    注意

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

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

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

    重要

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

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

    注意

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

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

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

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

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

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

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

  1. 必要に応じて、高い安全性モードで、各ミラーリング セッションのミラーリング監視サーバーを再度確立します。

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

参照

インストール ウィザードを使用した SQL Server 2016 へのアップグレード (セットアップ)
コマンド プロンプトからの SQL Server 2016 のインストール
ALTER DATABASE データベース ミラーリング (Transact-SQL)
BACKUP (Transact-SQL)
ミラー化されたデータベースの状態の確認 (SQL Server Management Studio)
データベース ミラーリング (SQL Server)
データベース ミラーリング セッション中の役割の交代 (SQL Server)
データベース ミラーリング セッションでのサービスの強制 (Transact-SQL)
データベース ミラーリング モニターの起動 (SQL Server Management Studio)
Database Mirroring Operating Modes