MSmerge_conflicts_info (Transact-SQL)

MSmerge_conflicts_info テーブルは、サブスクリプションをマージ パブリケーションに同期する際に発生する競合を追跡します。 競合で失われる行データは、競合が発生したアーティクルの MSmerge_conflict_publication_article テーブル内に格納されます。 このテーブルは、パブリッシャー側ではパブリケーション データベースに、サブスクライバー側ではサブスクリプション データベースに格納されます。

列名

データ型

説明

tablenick

int

パブリッシュされたテーブルのニックネームです。

rowguid

uniqueidentifier

競合している行の識別子です。

origin_datasource

nvarchar(255)

競合している変更が発生したデータベースの名前です。

conflict_type

int

発生した競合の種類です。次のいずれかの値をとります。

1 = 更新の競合 : 行レベルで競合が検出されています。

2 = 列更新の競合 : 列レベルで競合が検出されています。

3 = 更新より削除が優先される競合 : 競合で削除が優先されます。

4 = 削除より更新が優先される競合 : 競合を避けるために削除された rowguid がこのテーブルに記録されています。

5 = 挿入のアップロードに失敗 : サブスクライバーからの挿入がパブリッシャーで適用されませんでした。

6 = 挿入のダウンロードに失敗 : パブリッシャーからの挿入がサブスクライバーで適用されませんでした。

7 = 削除のアップロードに失敗 : サブスクライバーでの削除がパブリッシャーにアップロードされませんでした。

8 = 削除のダウンロードに失敗 : パブリッシャーでの削除がサブスクライバーにダウンロードされませんでした。

9 = 更新のアップロードに失敗 : サブスクライバーでの更新がパブリッシャーで適用されませんでした。

10 = 更新のダウンロードに失敗 : パブリッシャーでの更新がサブスクライバーで適用されませんでした。

11 = 解決

12 = 論理レコードの削除より更新が優先 : 競合を避けるために削除された論理レコードがこのテーブルに記録されています。

13 = 論理レコードの挿入と更新が競合 : 論理レコードへの挿入が更新と競合しています。

14 = 論理レコードの更新より削除が優先される競合 : 競合を避けるために更新された論理レコードがこのテーブルに記録されています。

reason_code

int

状況依存のエラー コードです。 更新 - 更新、および更新 - 削除の競合の場合、この列の値は conflict_type と同じになります。 ただし、変更の失敗による競合の場合は、マージ エージェントが変更を適用できなかったことを示すエラーが理由コードとなります。 たとえば、主キー違反が原因で、マージ エージェントがサブスクライバーに挿入を適用できない場合は、conflict_type として 6 ("挿入のダウンロードの失敗")、reason_code として 2672 がログに記録されます。これは、主キー違反を示す SQL Server 内部エラー メッセージ ("制約 '%.*ls' の %ls 違反。 オブジェクト '%.*ls' には重複したキーを挿入できません。") です。

reason_text

nvarchar(720)

状況依存のエラーの説明です。

pubid

uniqueidentifier

パブリケーションの識別子です。

MSrepl_create_time

datetime

競合が発生した時刻です。

origin_datasource_id

uniqueidentifier

競合している変更が発生したデータベースの識別子です。

関連項目

参照

レプリケーション ビュー (Transact-SQL)

概念

レプリケーション テーブル (Transact-SQL)