トランザクション レプリケーションとデータベース ミラーリング トポロジでSQL Serverの修正プログラムを適用する

概要

この記事では、次の特性を持つ Microsoft SQL Serverのインスタンスにサービス パックと修正プログラムをインストールする手順について説明します。

  • SQL Serverのインスタンスには、データベース ミラーリングとトランザクション レプリケーション トポロジの両方に参加する 1 つ以上のデータベースがあります。
  • データベースは、パブリッシャー、ディストリビューター、またはサブスクライバーとして参加します。

注:

ディストリビューション データベースをミラー化できません。 ただし、プリンシパル/パブリッシャー データベース、またはデータベース ミラーリング監視と共存できます。

元の製品バージョン: SQL Server
元の KB 番号: 977051

詳細

データベース ミラーリングまたはトランザクション レプリケーションに参加するSQL Serverに修正プログラムを適用する手順については、SQL Server ドキュメントの次のトピックに記載されています。

データベース ミラーリングとトランザクション レプリケーション トポロジの両方に参加するようにSQL Serverが構成されている環境で、ミラーリング監視とディストリビューターが同じサーバー インスタンス上にある場合、インストール手順は次のとおりです。

  1. ミラー
  2. ミラーリング監視/ディストリビューター
  3. プリンシパル/パブリッシャー
  4. サブスクライバー

ミラーリング監視サーバーとディストリビューターが同じサーバー上にない場合、インストール手順は次のとおりです。

  1. ミラー
  2. ミラーリング監視
  3. ディストリビューター
  4. プリンシパル/パブリッシャー
  5. サブスクライバー

プロシージャ

  1. ミラーリング監視サーバーがデータベース ミラーリング セッションにある場合は、更新プロセス中に自動フェールオーバー機能を無効にする必要があります。 これを行うには、データベース ミラーリング セッションからミラーリング監視サーバーを削除します。 サーバーが他のデータベース ミラーリング セッションのパートナー サーバーでない場合は、次の手順に従ってミラーリング監視サーバーでの自動フェールオーバーを無効にします。

    • Transact-SQL ステートメントを ALTER ENDPOINT 使用して、データベース ミラーリング エンドポイントを無効にします。

      詳細については、「データベース ミラーリング セッションからの監視の削除 (SQL Server)」を参照してください。

    • プリンシパル/パブリッシャー データベースでデータベースの完全バックアップを実行し、プリンシパル データベースで DBCC CHECKDB コマンドを実行します。

      注:

      この手順は省略可能ですが、推奨されます。 この手順により、運用アクティビティが妨げられます。 そのため、この手順のメンテナンス期間をスケジュールする必要があります。

  2. サービス パックまたは修正プログラムをミラー サーバーにインストールします。 この時点で複数のサーバーを更新する必要がある場合があります。

  3. サービス パックまたは修正プログラムをミラーリング監視サーバーにインストールします。

  4. ディストリビューターに Service Pack または修正プログラムをインストールします。 ディストリビューターがミラーリング監視サーバーと同じサーバー インスタンスにある場合、これらのサーバー ロールは同時に更新されます。

    注:

    更新プログラムが適用されている間、レプリケーションは一時的に中断されます。 トランザクションは更新中にパブリッシャー トランザクション ログに残り、ディストリビューターで SQL サービスが再起動されるとすぐにレプリケートされます。

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

    データベース ミラーリング セッションを再開する方法の詳細については、「データベース ミラーリング セッションの一時停止または再開 (SQL Server)」を参照してください。

  6. ミラー サーバーがプリンシパルと発行元の役割を再開できるように、ミラー サーバーへの手動フェールオーバーを実行します。

    ミラー サーバーへのフェールオーバーを手動で実行する方法の詳細については、「SQL Server 2005 または SQL Server 2008 オンライン ブック」の「セカンダリ データベースへの手動フェールオーバー」トピックを参照してください。

  7. プリンシパル サーバーで DBCC CHECKDB コマンドを実行します。

    注:

    この手順は省略可能ですが、推奨されます。

  8. データベース ミラーリング セッションを一時停止します。

  9. 新しいミラー サーバーに Service Pack または修正プログラムをインストールします。

    注:

    新しいミラー サーバーは、元のプリンシパル/パブリッシャー サーバーと同じです。 この時点で複数のサーバーを更新する必要がある場合があります。

  10. データベース ミラーリング セッションを再開します。

    データベース ミラーリング セッションにミラーリング監視サーバーがある場合は、手順 1 で行った変更を元に戻します。

    これを行う方法の詳細については、「データベース ミラーリング監視 (SQL Server Management Studio)を追加または置換する」を参照してください。

    注:

    手順 1 で行った変更を元に戻すと、ミラーリング監視サーバーがデータベース ミラーリング セッションに再度追加されます。

  11. サービス パックまたは修正プログラムをサブスクライバーにインストールします。 このプロセス中、ディストリビューターからサブスクライバーへのレプリケーションは一時的に中断され、トランザクションはディストリビューション データベースにキューに入れられます。 サブスクライバーがミラーリングされ、別のミラーリング監視サーバーが使用されている場合は、手順 1 から 3 に従って、最初にミラー サーバーを更新し、次にミラーリング監視サーバーを更新します。