次の方法で共有


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

はじめに

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

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

Note

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

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

詳細

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

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

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

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

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

手順

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

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

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

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

      Note

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

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

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

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

    Note

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

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

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

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

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

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

    Note

    この手順はオプションですが、お勧めする手順です。

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

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

    Note

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

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

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

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

    Note

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

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