ミラー化されたデータベースのダウンタイムを最小限に抑えた Service Pack のシステムへのインストール
このトピックでは、Service Pack および修正プログラムをインストールする際に、ミラー化されたデータベースのダウンタイムを最小限に抑える方法について説明します。 このプロセスには、データベース ミラーリングに参加している SQL Server 2012 のインスタンスを順次アップグレードする処理が伴います。 このようなアップデート形態をローリング アップデートと呼びます。ダウンタイムを 1 回のフェールオーバーだけに抑えることができます。 ただし、ミラー サーバーとプリンシパル サーバーが地理的に離れている高パフォーマンス モードのセッションでは、ローリング アップデートは適しません。
ローリング アップデートは、次の複数の段階から成るプロセスです。
データを保護する。
セッションにミラーリング監視サーバーが含まれる場合は、ミラーリング監視サーバーを削除しておくことをお勧めします。 そうしないと、ミラー サーバー インスタンスをアップデートする際のデータベースの可用性が、プリンシパル サーバー インスタンスに接続されたミラーリング監視サーバーに依存することになります。 削除したミラーリング監視サーバーは、ローリング アップデート プロセス中にいつでもアップデートでき、また、そうすることでデータベースのダウンタイムを最小限に抑えることができます。
注 詳細については、「クォーラム: データベースの可用性にミラーリング監視サーバーが与える影響 (データベース ミラーリング)」を参照してください。
セッションが高パフォーマンス モードで動作している場合は、動作モードを高い安全性モードに変更する。
データベース ミラーリングに参加している各サーバー インスタンスをアップデートする。 ローリング アップデートでは、現在ミラー サーバーであるサーバー インスタンスをアップグレードし、ミラー化された各データベースを手動でフェールオーバーして、さらに、元はプリンシパル サーバーであった (新しいミラー サーバーになる) サーバー インスタンスをアップグレードする作業が伴います。 この時点で、ミラーリングを再開する必要があります。
注 ローリング アップデートを開始する前に、少なくとも 1 つのミラーリング セッションで試験的に手動フェールオーバーを実行しておくことをお勧めします。
必要に応じて、高パフォーマンス モードに戻す。
必要に応じて、ミラーリング監視サーバーをミラーリング セッションに戻す。
ここでは、各段階の手順について説明します。
重要 |
---|
同時実行ミラーリング セッションでは、1 つのサーバー インスタンスが複数の異なるミラーリング ロール (プリンシパル サーバー、ミラー サーバー、またはミラーリング監視サーバー) を実行している場合があります。 この場合は、基本的なローリング アップデート プロセスを適宜調整する必要があります。 |
アップデート前にデータを保護するには (ベスト プラクティス)
すべてのプリンシパル データベースを対象にデータベースの完全バックアップを実行します。
データベースをバックアップするには
すべてのプリンシパル データベースで DBCC CHECKDB コマンドを実行します。
ミラーリング監視サーバーをセッションから削除するには
ミラーリング セッションにミラーリング監視サーバーが存在する場合は、ローリング アップデートの実行前にミラーリング監視サーバーを削除しておくことをお勧めします。
ミラーリング監視サーバーを削除するには
セッションを高パフォーマンス モードから高い安全性モードに変更するには
ミラーリング セッションを高パフォーマンス モードで実行している場合は、ローリング アップデートを実行する前に、動作モードを、自動フェールオーバーを伴わない高い安全性モードに変更します。 以下のいずれかの方法を使用します。
SQL Server Management Studio : [データベースのプロパティ] ダイアログ ボックスの [ミラーリング] ページで、[動作モード] オプションを [自動フェールオーバーを伴わない高い安全性 (同期)] に変更します。 このページへのアクセス方法については、「データベース ミラーリング セキュリティ構成ウィザードの起動 (SQL Server Management Studio)」を参照してください。
Transact-SQL: トランザクションの安全性を FULL に設定します。 詳細については、「データベース ミラーリング セッションでのトランザクションの安全性の変更 (Transact-SQL)」を参照してください。
ローリング アップデートを実行するには
ローリング アップデートを開始する際は、ダウンタイムを最小限に抑えるため、すべてのミラーリング セッションにおいてミラー サーバーとして機能しているミラーリング パートナーから先に更新することをお勧めします。 場合によっては、この時点で複数のサーバー インスタンスを更新する必要があります。
注 ミラーリング監視サーバーは、ローリング アップデート プロセス中、いつでもアップデートできます。 たとえば、セッション 1 ではミラー サーバーとして、セッション 2 ではミラーリング監視サーバーとして機能しているサーバー インスタンスであれば、今すぐにアップデートすることもできます。
最初にアップデートするサーバー インスタンスは、ミラーリング セッションが現在どのように構成されているかによって異なります。その指針を次に示します。
サーバー インスタンスがそのすべてのミラーリング セッションにおいて既にミラー サーバーとして機能している場合、そのサーバー インスタンスに Service Pack または修正プログラムをインストールします。
どのサーバー インスタンスもいずれかのミラーリング セッションのプリンシパル サーバーとして機能している場合は、最初にアップデートするサーバー インスタンスを 1 つ選択します。 次に、選択したサーバー インスタンスの各プリンシパル データベースを手動でフェールオーバーし、Service Pack または修正プログラムをインストールしてそのサーバー インスタンスをアップデートします。
アップデート後のサーバー インスタンスは、自動的にそれぞれのミラーリング セッションに再度参加します。
手動フェールオーバーを実行するには
手動フェールオーバーの動作については、「データベース ミラーリング セッション中の役割の交代 (SQL Server)」を参照してください。
前の手順でアップデートしたミラー サーバー インスタンスのすべてのミラーリング セッションの同期が完了するまで待ちます。 次に、プリンシパル サーバー インスタンスに接続し、セッションを手動でフェールオーバーします。 フェールオーバー時は、アップデートされたサーバー インスタンスがそのセッションのプリンシパル サーバーになり、以前のプリンシパル サーバーがミラー サーバーになります。
この手順の目的は、すべてのミラーリング セッションで、パートナー関係にある他方のサーバー インスタンスがミラー サーバーとなるようにすることです。
フェールオーバー後は、プリンシパル データベースに対して DBCC CHECKDB コマンドを実行することをお勧めします。
すべてのミラーリング セッションで、ミラー サーバー (パートナー) になった各サーバー インスタンスに Service Pack または修正プログラムをインストールします。 場合によっては、この時点で複数のサーバーを更新する必要があります。
重要 複雑なミラーリング構成の場合、一部のサーバー インスタンスが、1 つまたは複数のミラーリング セッションで元のプリンシパル サーバーとして機能している場合があります。 これらのサーバー インスタンスについては、関係するすべてのインスタンスがアップデートされるまで、手順 2. ~ 4. を繰り返してください。
ミラーリング セッションを再開します。
注 自動フェールオーバーは、ミラーリング監視サーバーがアップデートされるまで機能しません。
すべてのミラーリング セッションの残りのサーバー インスタンス (ミラーリング監視サーバー) に Service Pack または修正プログラムをインストールします。 アップデートしたミラーリング監視サーバーをミラーリング セッションに再度参加させると、自動フェールオーバーが有効になります。 場合によっては、この時点で複数のサーバーを更新する必要があります。
セッションを高パフォーマンス モードに戻すには
必要に応じて、高パフォーマンス モードに戻す場合は、次のいずれかの方法を使用します。
SQL Server Management Studio : [データベースのプロパティ] ダイアログ ボックスの [ミラーリング] ページで、[動作モード] オプションを [高パフォーマンス (非同期)] に変更します。
Transact-SQL : ALTER DATABASE を使用してトランザクションの安全性を OFF に設定します。
ミラーリング監視サーバーをミラーリング セッションに戻すには
必要に応じて、高い安全性モードで、各ミラーリング セッションのミラーリング監視サーバーを再度確立します。
ミラーリング監視サーバーを削除するには
関連項目
タスク
データベース ミラーリング モニターの起動 (SQL Server Management Studio)
ミラー化されたデータベースの状態の確認 (SQL Server Management Studio)
参照
ALTER DATABASE データベース ミラーリング (Transact-SQL)