Hi
Using HTTPS web synchronisation - merge replication.
I have a very strange error where it bombs out half-way through downloading the snapshot
Downloaded a total of 3 chunks.
Downloaded snapshot file 'snapshot.pre'.
Downloaded snapshot file 'myView_6.sch'.
Downloaded snapshot file 'table2_2.sch'.
Downloaded snapshot file 'table2_2.cft'.
Downloaded snapshot file 'table3_3.sch'.
Downloaded snapshot file 'table3_3.cft'.
Downloaded snapshot file 'mytestProc1_4.sch'.
Downloaded snapshot file 'mytestProc3_5.sch'.
Downloaded snapshot file 'MSmerge_tombstone.bcp'.
Downloaded snapshot file 'MSmerge_contents90_forall.bcp'.
Downloaded snapshot file 'MSmerge_genhistory90.bcp'.
Downloaded snapshot file 'sysmergesubsetfilters90.bcp'.
Downloaded snapshot file 'table2_2.bcp'.
A failure occurred when accessing 'MSmerge_contents_table290_forall.bcp' due to an operating system error [3='The system cannot find the path specified.'] during Web synchronization. Ensure that the -InternetLogin user when using basic authentication and the user running the merge when using Windows integrated authentication has been granted access to the snapshot share.
A failure occurred when accessing 'MSmerge_contents_table290_forall.bcp' due to an operating system error [3='The system cannot find the path specified.'] during Web synchronization. Ensure that the -InternetLogin user when using basic authentication and the user running the merge when using Windows integrated authentication has been granted access to the snapshot share.
The processing of the response message failed.
I've tried compressing the snapshot, and can see the bcp file in the snapshot.
HELP !!!
Bruce...
Did you have a snapshot agent job (from SQL Agent) while merge is running? Was the job disabled? It is very likely that some process is holding that file when downloading the snapshot files.
Thanks.
This posting is provided "AS IS" with no warranties, and confers no rights.
|||No - definitely not
The subscriptions is setup as follows:
subscription.CreateSyncAgentByDefault = False -- I wrote a windows service to synchronise
subscription.UseWebSynchronization = True
subscription.InternetSecurityMode = AuthenticationMethod.BasicAuthentication
subscription.SubscriberType = MergeSubscriberType.Anonymous
We've tried compressing and not-compressing the snapshot....
It used the snapshot fine when initialising the subscription - it's only after we added a proc to the publication and recreated the subscription. We've tried a number of times to synchronise - we've even rebooted the server (publisher)...
Thanks
Bruce
Is it necessary to re-create the snapshot after adding a SP to the publication?
Also I am not sure why you need to recreate the subscription in this scenario?
Thanks.
|||Yes it is necessary - this is covered in BOL.
I didn't say we recreated the subscription in this scenario
Thanks
Bruce
Let us get back to your original question.
1. Since you used basic authentication in the web sync, so I assuem you have provided NT user name and password to access the web virtual directory.
2. Is 'MSmerge_contents_table290_forall.bcp' a big file to get downloaded? Please also check the timeout value on both the web server and the merge subscription.
3. I assum you have tried multiple times of the initial snapshot. Is it always failed on the same file ('MSmerge_contents_table290_forall.bcp' )?
Thanks.
|||1. yes
2. no - it is not timing out- it even downloads the cabinet file with the file in it
3. yes
|||Let us try to isolate this problem. Does this problem also appear if you run the merge agent to sync in fully connected mode, not web sync?
Thanks.
|||Hi
We don't create the sync agent - so it a bit hard to test - some of our subscribers are sqlExpress - which doesn't have the agent....
(see earlier append - (subscription.CreateSyncAgentByDefault = False)
Bruce
For debugging purpose, you can start the initial sync by invoking replmerg.exe. This executable should be available on SQL Express.
To run the sync agent in fully connected mode, you may want to try
replmerg.exe" -Publisher [publisher server name] -PublisherDB [publisher database name] -Publication [publication name] -PublisherSecurityMode 0 -PublisherLogin [xxxxxx] -PublisherPassword xxxxxx -Distributor [distributor server name] -DistributorLogin [xxxxxx] -DistributorPassword xxxxxx -DistributorSecurityMode 0 -Subscriber [subscriber server name] -SubscriberDB [subscriber database name] -SubscriberLogin [xxxxxx] -SubscriberPassword xxxxxx -SubscriberSecurityMode 0 -SubscriptionType (?) -QueryTimeout 0 -LoginTimeout 0
To run the sync agent in web sync mode, additional parameters needed as
-InternetURL https://your_web_server_name/virtual_directory_path/replisapi.dll -InternetTimeout 5000 -InternetLogin [domain user name] -InternetPassword [domain user password].
Let's see if the same problem shown again.
Thanks.
This posting is provided "AS IS" with no warranties, and confers no rights.
|||Ok
I've spent most of the day on this problem (and another one you are also helping me on!)
The problem is such:
1. The initial snapshot downloads fine
2. If I add a proc to the publication, I need to recreate the snapshot - the next time it sync's I get the error listed earlier (about not being able to find the file etc)
3. If I mark the subscription for initilization, it works successfully
Sorry if I've been obtuse in explaining this. The only difference in my code in scenarios 2. and 3. is the addition of the following line:
subscription.Reinitialize(False)
All other parameters are the same - this is what is so strange...
4. Also - if I mark all subscriptions to be reinitialized (at the publisher) - it is able to download the snapshot ok next time we try and synchronise at the subscriber.
Bruce
Hello Bruce,
1. Looks like you got a workaround already.
2. I still have no luck to repro your scenario at this moment but I will continuous to try.
3. Can you profile (if you prefer) the TSQLs which a "NEW" SP is added to the existing publication. Particularly when sp_addmergearticle is invoked, what is the value set for @.force_reinit_subscription? If you got "1", can you somehow modify the RMO code to make it "0" and see if this issue still occurs.
Thanks.
Leo
This posting is provided "AS IS" with no warranties, and confers no rights.
No comments:
Post a Comment