トランザクション パブリケーションのデータの競合を表示する方法 (SQL Server Management Studio)

ピア ツー ピア トランザクション レプリケーション、およびキュー更新サブスクリプションを使用するトランザクション レプリケーションでの競合を、Microsoft レプリケーション競合表示モジュールで表示できます。競合の検出および解決方法については、「ピア ツー ピア レプリケーションにおける競合検出」および「キュー更新の競合解決オプションを設定する方法 (SQL Server Management Studio)」を参照してください。

競合データを表示できるかどうかは、レプリケーションの種類および競合の保有期間によって異なります。

  • ピア ツー ピア レプリケーションの場合、ディストリビューション エージェントは、競合を検出すると既定で停止します。競合エラーはエラー ログに記録されますが、競合データは競合テーブルに記録されないため、競合データを表示できません。ディストリビューション エージェントが実行の継続を許可されている場合は、競合が検出された各ノードで、競合がローカルでログに記録されます。詳細については、「ピア ツー ピア レプリケーションにおける競合検出」の「競合の処理」を参照してください。

  • キュー更新サブスクリプションの場合は、すべての競合のデータを表示できます。競合データは、競合の保有期間に指定した期間 (既定では 14 日間)、レプリケーション競合表示モジュールで表示できます。競合の保有期間を設定するには、次のいずれかを実行します。

    • sp_addpublication@conflict_retention パラメータに保有期間の値を指定します。

    • sp_changepublication@property パラメータに 'conflict_retention' という値を指定し、@value パラメータに保有期間の値を指定します。

競合を表示するには

  1. SQL Server Management Studio で適切なサーバーに接続し、そのサーバー ノードを展開します。

    • ピア ツー ピア レプリケーションの場合は、競合の発生したノードがこれに当たります。

    • キュー更新サブスクリプションの場合は、パブリッシャがこれに当たります。

  2. [レプリケーション] フォルダを展開し、[ローカル パブリケーション] フォルダを展開します。

  3. 競合を表示するパブリケーションを右クリックしてから、[競合の表示] をクリックします。

  4. [競合テーブルの選択] ダイアログ ボックスで、競合を表示するデータベース、パブリケーション、およびテーブルを選択します。

  5. レプリケーション競合表示モジュールでは、以下を実行できます。

    • 上のグリッドの右側のボタンで行をフィルタ選択する。

    • 上のグリッドで行を選択して、下のグリッドにその行の情報を表示する。

    • 上のグリッドで複数の行を選択し、[削除] をクリックして、競合メタデータ テーブルから行を削除する。

    • プロパティ ボタン ([...]) をクリックし、競合に関係のある列の詳細情報を表示する。

    • [この競合の詳細をログに記録する] を選択して、競合のデータをログ ファイルに記録する。ファイルの場所を指定するには、[表示] メニューをポイントし、[オプション] をクリックします。値を入力するか、または参照ボタン ([...]) をクリックして適切なファイルに移動します。[OK] をクリックして、[オプション] ダイアログ ボックスを閉じます。

  6. レプリケーション競合表示モジュールを閉じます。