次の方法で共有


レプリケーション トポロジを停止する方法 (レプリケーション Transact-SQL プログラミング)

システムの停止を実行するには、すべてのノードのパブリッシュされたテーブルで処理を停止し、他のすべてのノードからのすべての変更を各ノードが受信しているかどうかを確認します。このトピックでは、いくつかの管理タスクで必要とされる、レプリケーション トポロジの停止方法や、他のノードからのすべての変更をノードが受け取ったことを確認する方法について説明します。

読み取り専用サブスクライバを含むトランザクション レプリケーション トポロジを停止するには

  1. パブリッシャで、すべてのパブリッシュされたテーブルの処理を停止します。

  2. パブリッシャ側のパブリケーション データベースに対して、sp_posttracertoken (Transact-SQL) を実行します。

  3. パブリッシャ側のパブリケーション データベースに対して、sp_helptracertokenhistory (Transact-SQL) を実行します。

  4. 各サブスクライバがトレーサ トークンを受け取ったことを確認します。

更新可能サブスクリプションを含むトランザクション レプリケーション トポロジを停止するには

  1. パブリッシャおよびすべてのサブスクライバで、すべてのパブリッシュされたテーブルの処理を停止します。

  2. キュー更新サブスクリプションを使用するサブスクライバがある場合

    1. キュー リーダー エージェントが連続モードで実行されていない場合は、エージェントを実行します。エージェントの実行の詳細については、「レプリケーション エージェント実行可能ファイルのプログラミング」および「レプリケーション エージェントの起動および停止方法 (SQL Server Management Studio)」を参照してください。
    2. キューが空であることを確認するには、各サブスクライバで sp_replqueuemonitor (Transact-SQL) を実行します。
  3. パブリッシャ側のパブリケーション データベースに対して、sp_posttracertoken (Transact-SQL) を実行します。

  4. パブリッシャ側のパブリケーション データベースに対して、sp_helptracertokenhistory (Transact-SQL) を実行します。

  5. 各サブスクライバがトレーサ トークンを受け取ったことを確認します。

ピア ツー ピアのトランザクション レプリケーション トポロジを停止するには

  1. すべてのノードで、すべてのパブリッシュされたテーブルの処理を停止します。

  2. トポロジ内の各パブリケーション データベースで sp_requestpeerresponse (Transact-SQL) を実行します。

  3. ログ リーダー エージェントまたはディストリビューション エージェントが連続モードで実行されていない場合は、エージェントを実行します。ログ リーダー エージェントは、ディストリビューション エージェントの前に開始する必要があります。エージェントの実行の詳細については、「レプリケーション エージェント実行可能ファイルのプログラミング」および「レプリケーション エージェントの起動および停止方法 (SQL Server Management Studio)」を参照してください。

  4. トポロジ内の各パブリケーション データベースで sp_helppeerresponses (Transact-SQL) を実行します。結果セットに他のノードからの応答が含まれていることを確認します。

ピア ツー ピア ノードが前の変更をすべて受け取ったことを確認するには

  1. チェックする対象ノードのパブリケーション データベースで、sp_requestpeerresponse (Transact-SQL) を実行します。

  2. ログ リーダー エージェントまたはディストリビューション エージェントが連続モードで実行されていない場合は、エージェントを実行します。ログ リーダー エージェントは、ディストリビューション エージェントの前に開始する必要があります。エージェントの実行の詳細については、「レプリケーション エージェント実行可能ファイルのプログラミング」および「レプリケーション エージェントの起動および停止方法 (SQL Server Management Studio)」を参照してください。

  3. チェックする対象ノードのパブリケーション データベースで、sp_helppeerresponses (Transact-SQL) を実行します。結果セットに他のノードからの応答が含まれていることを確認します。

マージ レプリケーション トポロジを停止するには

  1. パブリッシャおよびすべてのサブスクライバで、すべてのパブリッシュされたテーブルの処理を停止します。

  2. 各サブスクリプションに対して、マージ エージェントを 2 回実行します。すべてのサブスクリプションを 1 回同期させてから、各サブスクリプションをもう 1 回同期させます。これにより、すべての変更がすべてのノードに確実にレプリケートされます。エージェントの実行の詳細については、「レプリケーション エージェント実行可能ファイルのプログラミング」および「レプリケーション エージェントの起動および停止方法 (SQL Server Management Studio)」を参照してください。

    ms147385.note(ja-jp,SQL.90).gifメモ :
    同期中に競合が発生した場合は、マージ エージェントを 2 回実行した後でも、競合の解決に必要な変更が全ノードに反映されない可能性があります。

参照

処理手順

ピア ツー ピア トポロジを管理する方法 (レプリケーション Transact-SQL プログラミング)
トランザクション レプリケーションの待機時間を計測して接続を検証する方法 (レプリケーション Transact-SQL プログラミング)

その他の技術情報

トランザクション レプリケーションの待機時間の計測と接続の検証

ヘルプおよび情報

SQL Server 2005 の参考資料の入手