MSmerge_conflicts_info (Transact-SQL)

The MSmerge_conflicts_info table tracks conflicts that occur when synchronizing a subscription to a merge publication. The losing row data for conflicts is stored in the MSmerge_conflict_publication_article table for the article where the conflict occurred. This table is stored at the Publisher in the publication database and at the Subscriber in the subscription database.

Column name

Data type

Description

tablenick

int

The nickname of the published table.

rowguid

uniqueidentifier

The identifier for the conflict row.

origin_datasource

nvarchar(255)

The name of the database where the conflicting change originated.

conflict_type

int

The type of conflict that occurred, which can be one of the following:

1 = Update Conflict: The conflict is detected at the row level.

2 = Column Update Conflict: The conflict detected at the column level.

3 = Update Delete Wins Conflict: The delete wins the conflict.

4 = Update Wins Delete Conflict: The deleted rowguid that loses the conflict is recorded in this table.

5 = Upload Insert Failed: The insert from Subscriber could not be applied at the Publisher.

6 = Download Insert Failed: The insert from Publisher could not be applied at the Subscriber.

7 = Upload Delete Failed: The delete at Subscriber could not be uploaded to the Publisher.

8 = Download Delete Failed: The delete at Publisher could not be downloaded to the Subscriber.

9 = Upload Update Failed: The update at Subscriber could not be applied at the Publisher.

10 = Download Update Failed: The update at Publisher could not be applied to the Subscriber.

11 = Resolution

12 = Logical Record Update Wins Delete: The deleted logical record that loses the conflict is recorded in this table.

13 = Logical Record Conflict Insert Update: Insert to a logical record conflicts with an update.

14 = Logical Record Delete Wins Update Conflict: The updated logical record that loses the conflict is recorded in this table.

reason_code

int

The error code that can be context-sensitive. In the case of update-update and update-delete conflicts, the value used for this column is the same as the conflict_type. However, for failed change conflicts, the reason code is the error that prevented the Merge Agent from applying the change. For example, if the Merge Agent cannot apply an insert at the Subscriber because of a primary key violation, it logs a conflict_type of 6 ("download insert failed") and a reason_code of 2627, which is the SQL Server internal error message for a primary key violation: "Violation of %ls constraint '%.*ls'. Cannot insert duplicate key in object '%.*ls'."

reason_text

nvarchar(720)

The error description that can be context-sensitive.

pubid

uniqueidentifier

The identifier for the publication.

MSrepl_create_time

datetime

The time that the conflict occurred.

origin_datasource_id

uniqueidentifier

The identifier of the database where the conflicting change originated.