none
Merge Replication - Handling conflicts between multiple subscriber in different country

    Frage

  • Team,

    Currently we have single SQL server in one region, we are planning to expand the servers based on the traffic. ex. UK, US and other country.

    But as it is single database replicated at both the ends. can i create a colum with date and time in UTC format and  when i update any column in the same row it will update the UTC-COLUMN with the latest time stamp.

    Let us say we have database ABC replicated between 2 servers. there are 4 columns
    1 - PrimaryKey
    2 - First Name
    3 - Last Name
    4 - UTCDatetime
    When i updated the 2nd Column with name Aquib and 3rd column with Qureshi and the time of data update in the UTCDatetime column.
    at the same time on other member someone updated the First Name as John and Last name as wick in the same primary key.
    also we have updated the timestamp in the UTCDatetime.
    if we have "Microsoft SQL Server DATATIME (Later Winds) Conflict Resolver" in place it will compare the UTCDatetime on both the column and which is the latest one will win and update both the First Name and Last name on other server.

    Can i achieve this using the conflict resolver?



    • Bearbeitet Qureshi Aquib Donnerstag, 12. Juli 2018 10:32 added example
    Donnerstag, 12. Juli 2018 10:05

Alle Antworten

  • Hi Qureshi Aquib,

    According to your description, you have a column with the UTCDatetime, and you want to use the "Microsoft SQL Server DATATIME (Later Winds) Conflict Resolver" to let it win the conflict when it has the latest UTC time.

    "Microsoft SQL Server DATATIME (Later Winds) Conflict Resolver" can meet this requirement, it will determine the conflict winner based on the column with the later datetime value.

    Best Regards,

    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Freitag, 13. Juli 2018 09:25
  • So the only thing I have to modify in my table is to add datetime column and configure the COM conflict resolver of Microsoft. It will do its thing and whenever any conflicts occur in any of the column in the row then it will see the datetime column and then only the later one wins? 
    Freitag, 13. Juli 2018 12:30
  • This is correct. If any columns between the publisher and a subscriber, or between multiple subscribers is changed between synchronizations; the changed row with the most recent datetime column value will win the conflict and be persisted everywhere.

    You need to ensure that you are using row level conflicts 

    vor 14 Stunden 35 Minuten
    Moderator