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