October 15, 2013 at 6:32 am
Good day, colleagues . I encountered with a problem and need advice.
SQL Server 2008R2. I have a merge replication with publisher and N subscribers.
Periodically an update conflict occurs in replication. It is not a problem, it's okay if both sides have updated record, but in my case the record is updated with only one side.
Why so adamantly. First, all user stored procedures which updates a values in record has a script that logs the date and time of renewal in special columns, secondly - the application-layer forbids updating records when current user did not create them, and thirdly, today I created the triggers on the table at the publisher who write all DML operations in the log table.
So in the log-table I see the event of creating new record, it was created at the Subscriber and come with replication on the publisher – ok! Then user updates a record on subscriber and I see the update conflict for this record, but I do not see any fact of update that record in the log-tables on publisher. Conflict viewer says to me that both the Publisher and Subscriber data is changed but I do not see a time of renewal in special columns, and all other values are identical.
The question is: how Publisher can update records in the table, so that the triggers do not fire? Or which process and why, for some reason generates updates system tables (“genhistory” or “contents”), which leads to conflict?
Sorry my poor English, did not have enough practice last time.
Viewing 0 posts
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy