Thursday, August 02, 2012 4:54 PMI have a merge publication with several articles, each with partition_option=3 and filtered by overriding HOST_NAME(). I am doing some testing to see if having a dynamic snapshot available helps performance for each HOST_NAME() so first I generated a snapshot with no dymanic data partition snapshots and tried appling it to one subscriber. When I went to look at the snapshot folder and files I don't see any files containing any data. There is only 1 BCP file called sysmergesubsetfilters90.bcp and it is empty. Also I see many schema and replication specific schema files (.dri, .cft. .sch, .trg. and .prc). This snapshot is being applied to the subscriber just fine and my question is where is it getting the data from it is pushing into the subscriber
Thursday, August 02, 2012 6:30 PM
I think I may have found my answer.
When I did not have a dynamic snapshot available, it went through the enumeration process as it would do during a normal synchronization as I see this in the MSmerge_history for that session_id which tells me there was no data in the snapshot
Enumerating inserts and updates in article 'Client' Downloaded 164 change(s) in 'Client' (164 inserts): 264 total
As a second test I create a dynamic snapshot for that partition before setting up the subscription and now I see messages like this below
Bulk copying data into table 'Client' as it is reading form the dynamic snapshot files.
Summary, when using dynamic row filtering and overriding HOST_NAME(), make sure you set up dynamic snapshots ahead of time to have just that partition's data ready in bcp files to be propogated to the subscriber