Sql-server – How to properly troubleshoot Merge Replication False Conflicts

merge-replicationsql serversql-server-2008-r2

We have SQL Server 2008 R2 Merge Replication setup.

Lately I started getting conflicts for some tables, and when I check the conflict viewer, I can see that the winner & the loser column values are identical!

I am sure that these data are being entered by only one subscriber.

I used sp_showrowreplicainfo to get more details about the conflicting row & I got 2 rows : one for the Publisher & one for the subscriber with both rows having the "version" as 1.

I also implemented Brandon's method: Auditing changes in Merge Replication, but it was showing only a normal insert!

Would you please tell me how to start troubleshooting this kind of conflict?

Best Answer

I found a solid answer to your question here on Database Administrators by Brandon Williams:

How to troubleshoot SQL Server Merge Replication Conflict?

Brandon said:

You need to inspect the Conflict Viewer and observe the conflict types and the conflicting row values. Something to note is that the Conflict Winner column will display the winning row values which are pulled from the base tables. If you think about it, these values are volatile and can change, so the values you see in the Conflict Winner column may not be the values they were when the conflict occurred, keep this in mind. The Conflict Loser column will display the losing row values which are pulled from the MSmerge_conflict_publication_article table and these values are static.

If you are unable to determine the root cause of the conflicts based on the Conflict Viewer, you may need to implement an auditing scheme. I have provided an example of how to do this in Auditing Changes in Merge Replication.

There is a small chance you are getting false conflicts but auditing should reveal whether or not that is the case.