I use merge replication to collect data from a number of agents into a central location (HQ), then process the data in the HQ.
The data that is being sent in comes from a number (4) different tables.
I'd like to be sure that processing (in the HQ) starts only when all data has been received.
Can anyone tell whether data is transferred in a single transaction or not?
If so, what is the isolation level of that transaction? Is data visible only when the transaction complete?
In SQL Server 2005 can I configure how a publication behaves?
Merge Replication does not guarantee Transactional Consistency.
According to the book online : Merge replication allows publisher or subscribers to make autonomous data changes after a publication or subscription has been initialized. At the same time,Merge replication tracks and enumerates all changes to the data in published
tables by using triggers and system tables.
When the Merge Agent runs during synchronization, changes are enumerated by the Merge agent and then applied to the Publisher and Subscriber as necessary. Conflicts may occur when updates are merged and merge replication provides a number of ways to handle
Please refer to the articles about more details: http://msdn.microsoft.com/en-us/library/ms151329(v=sql.90).aspx
If you have any feedback on our support, please clickhere.