Question

I'm quite new on merge replication, but a scenario. If I have a server, and two clients with pull subscriptions does it matter if the time on those machines goes out of sync with each other or the server?

When I modify some data on one of those clients does it store the time against that change?

I am using MS SQL 2012.

I will be using a setup as described here,

http://msdn.microsoft.com/en-us/library/ms151329(v=sql.105).aspx

Was it helpful?

Solution

OK, I've found that merge replication doesn't store the time against a specific change.

If you have client subscriptions then the first person to sync will win in the case of a conflict.

If you have server subscriptions then the priority of those server subscriptions will determine who will win.

Neither of these options rely on time.

OTHER TIPS

I currently have a 3rd-party application in production that uses merge replication. This includes a SQL 2008 R2 database server as publisher with ~100 desktop clients interacting with the database via the application, plus another 65 laptops with SQL Server Express 2008 R2 as subscribers to the publisher. The laptops synchronize via wireless when they get to their home base locations, with any deltas being pushed to the subscribers.

Now to get to your question. Time on the clients down to a millisecond likely won't make any difference. What will make a difference is whether or not the publisher and subscriber are out of sync for more than a specific period of time. Using SQL Server Mgmt Studio, look at the server publishing the database. Expand the Replication section, between Server Objects & Management, then right-click on the publisher, under Local Publications, and select Properties.

Under the General page, look at the Subscription expiration area. The default from Microsoft is 14 days and can be moved up/down as you need, or you can specify that it doesn't expire at all. Note the phrase "Replication metadata is never kept longer than this amount of time."

In other words, if one of your subscribers is off the reservation for more than 14 days, it won't matter, you will have to unsubscribe, then re-subscribe that unit. That's because of the gap between the oldest metadata on the publisher & the newest record/metadata on the subscriber. No overlap, no sync up.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top