Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Replication (2005)
 Merge replication performance issue

Author  Topic 

KestevenEd
Starting Member

1 Post

Posted - 2010-08-09 : 07:45:39
I am using merge replication to upload data from a large number of mobile devices with SQL CE installed. Row filters are enabled to remove committed data from the device on synchronization, the filter clause is similar to:
WHERE Committed=0 and TerminalId=HOST_NAME()

Setting Committed to 1 clears the row from the device on synch.

Performance has increasingly become an issue as more subscribers have been added, this is particularly true if a device has not been synched for a few days. Watching replication in the replication monitor it appears that DELETE statements are being processed at each device for all subscribers, i.e.
A row is added at Subscriber1
A row is added at Subscriber2, committed and synched (1 delete shown in replication monitor)
A row is added at Subscriber3, committed and synched (1 delete shown in replication monitor)
The row on Subscriber1 is committed and synched -in this case 3 DELETE statements are
show in replication monitor.

These additional DELETEs are unnecessary as the replication filter ensures that the rows added at Subscribers 2 and 3 cannot be replicated to Subscriber1. We are seeing large numbers of unnecessary deletes (10s of thousands).

Does anybody know of a way to prevent this behaviour?
   

- Advertisement -