Microsoft レプリケーション競合表示モジュール (キュー更新サブスクリプション)
レプリケーション競合表示モジュールを使用すると、レプリケーション同期中に発生した競合を表示することができます。競合が発生するのは、2 つの異なるサーバー、たとえば、パブリッシャとサブスクライバ、または 2 つの異なるサブスクライバで、同一のデータが変更されたときです。発生する可能性がある競合は、次のとおりです。
- 更新および挿入競合。この競合は、同一のデータが 2 つの異なる場所で変更された場合に発生します。一方の変更が競合で優先され、他方が優先されません。
- 削除競合。この競合は、同じ 1 行が、1 か所で削除され、別の 1 か所で変更された場合に発生します。
パブリケーションにアーティクルを追加するときに指定した競合回避モジュールに従って、競合は同期中に回避されます。競合回避モジュールは、キュー更新サブスクリプションに対して以下のいずれかを選択します。
- パブリッシャ優先およびサブスクリプション再初期化。
- パブリッシャ優先。
- サブスクライバ優先。
競合回避中に、競合で優先されない行のデータが競合テーブルに書き込まれます。定期的に競合を見直して、競合テーブルのサイズを小さくするようにしてください。
メモ : |
---|
キュー更新サブスクリプションが使用されている場合は、レプリケーション競合表示モジュールにより、マージ レプリケーションおよびトランザクション レプリケーションで発生する競合が表示されます。キュー更新サブスクリプションが使用されている場合は、競合の監視用にレプリケーション競合表示モジュールを使用することはできますが、競合に対して別の解決策を選択することはできません。 |
オプション
レプリケーション競合表示モジュールは 2 つのセクションに分かれています。ダイアログ ボックスの上側のセクションには、選択されたテーブルの競合の一覧が表示されます。競合の一覧の項目をクリックすると、競合の詳細がダイアログ ボックスの下側のセクションに表示されます。
下側のセクションの競合データは、2 つの対応する列 ([競合で優先されたデータ] と [競合で優先されなかったデータ]) に表示されます。更新されたデータと削除されたデータの間で競合が発生した場合、競合で削除された側にデータが表示されない場合があります。この場合、レプリケーション競合表示モジュールでは、その行が 1 か所では削除され別の箇所では更新されたことを示すメッセージが列の 1 つに表示されます。また、提案された解決策についても示されます。
- [データベース]
競合があるパブリケーションを含むデータベースを選択します。
- [パブリケーション]
競合があるテーブルを含むパブリケーションを選択します。
- [テーブル]
競合を含むテーブルを選択します。
- [フィルタの定義]
[フィルタの定義] ダイアログ ボックスが表示されます。
- [フィルタの適用または削除]
[フィルタの定義] ダイアログ ボックスで定義されたフィルタを適用または削除します。
- [すべて選択]
グリッドに一覧表示されたすべての競合を選択します。
- [すべて選択解除]
グリッドに一覧表示されたすべての競合の選択を解除します。
- [削除]
選択された競合をビューアから削除し、関連するメタデータをレプリケーション システム テーブルから削除します。
- [すべての列を表示]
テーブルのすべての列を表示します。
- [最初の 5 列および競合データが含まれている列を表示]
最初の 5 列および競合データが含まれている列を表示します。これは、テーブルに多数の列があり、競合を解決するのに最も関連する列のみを表示する場合に便利です。主キーや名前フィールドなど、行を識別するフィールドはテーブルの最初の列にある場合が多いため、このビューでは最初の 5 列が必ず表示されます。
- 列情報の表示 ([...])
列の情報である [テーブル名]、[列名]、[データ型]、および [列の値] を表示します。
- [競合の詳細をログに記録]
このボックスをオンにすると、競合の詳細がファイルに記録されます。ファイルの場所を指定するには、[表示] メニューをポイントし、[オプション] をクリックします。値を入力するか、参照ボタン ([...]) をクリックして適切なファイルに移動します。[OK] をクリックして、[オプション] ダイアログ ボックスを終了します。
参照
その他の技術情報
キュー更新サブスクリプションを持つトランザクション パブリケーションのデータの競合を表示する方法 (SQL Server Management Studio)
キュー更新における競合の検出と解決