Web Synchronization Frequently Asked Questions
Q. Is Web Synchronization supported with push subscriptions?
A. No. Web Synchronization is supported only for pull subscriptions.
Q. Can I use Web Synchronization for a SQL Server 2000 subscription?
A. No. Web Synchronization is supported only for SQL Server 2005 subscriptions.
Q. Does Web Synchronization support Logical Records?
A. No. Web Synchronization does not supported Logical Records feature of SQL Server 2005.
Q. What features of SQL Server 2005 are not supported with Web Synchronization?
A. Web Synchronization does not support Logical Records, ExchangeType 1 (upload only) and ExchangeType 2 (download only) merges.
Q. Is Web Synchronization supported if I run my IIS 6.0 server in IIS5.0 isolation mode?
A. Yes, IIS can either be running in 6.0 mode or 5.0 isolation mode. Web Synchronization does not depend on the running mode of IIS server.
Q. Can I use the Configure Web Synchronization wizard to create a virtual directory for SQL Server 2005 Mobile Edition subscribers?
A. Yes, Configure Web Synchronization wizard can be used to create virtual directories for SQL Server 2005 or for SQL Server 2005 Mobile. For SQL Mobile virtual directory creation, the SQL Server 2005 Mobile Edition Server Tools need to be installed.
Q. Does it mean that all subscriptions will start using Web Synchronization by setting the publication property @allow_web_synchronization=’true’?
A. No, setting this property enables the publication to use Web Synchronization. As needed, subscribers can use Web Synchronization.
Q. I do not find the Configure Web Synchronization menu item
A. This context menu is based off of the merge publication. Open Object Explorer, Connect to the local server, Expand the Replication node and expand the Local Publications node. Right Click on (any) merge publication and select Configure Web Synchronization. Additionally you can create a virtual directory using a script that is packaged along with the SQL Server replication samples.
Q. My publisher and IIS are 2 different machines. I do not have any publications on the IIS machine. How do I configure the virtual directory?
A. On your IIS machine, open SQL Server Management Studio and connect to your publisher instance of SQL Server. Then follow the steps mentioned in the answer to the above question
Q. My publisher and IIS are 2 different machines. I have installed only connectivity components on the IIS machine and it does not have a full SQL installation. How do I configure the virtual directory?
A. Same as the above answer
Q. I am creating subscription using RMO and wondering whether the subscriber needs to be on the same network as the publisher because the code to create the subscription makes a call the Publisher DB and I am not sure if this will work over the internet.
A. There are multiple ways in which this can be resolved:
· Have the subscriber in the same network and create a pull subscription. Now
there is publisher connection and subscription can be created successfully. There after the subscriber can synchronize over the internet with no direct publisher connection.
· If you do not want to or cannot have the subscriber in the same network as the publisher, then you will need to create an anonymous subscription and that will succeed. To set the anonymous subscription using RMO, here is an example:
MergePullSubscription mergepullsub = new MergePullSubscription("subdb", pubserver, "pubdb", "publication", subconn)
mergepullsub.Create();
MergeSynchronizationAgent syncAgent = mergepullsub.SynchronizationAgent
mergepullsub.SubscriptionType = SubscriptionOption.Anonymous
syncAgent.SubscriptionType = SubscriptionOption.Anonymous;
syncAgent.Synchronize();
But note that anonymous subscriptions cannot be used for republishing.
Q. When I am trying to create a virtual directory using the Configure Web Synchronization wizard, I get this error:
TITLE: Welcome to the Configure Web Synchronization Wizard
------------------------------
Your Web Server does not have a certificate installed and cannot be configured for Secure Sockets Layer (SSL) communications. You must first configure your Web Server for SSL before continuing.
------------------------------
BUTTONS:
OK
------------------------------
A. The reason for this error is that a certificate is not installed which is needed for configuring SSL. A certificate can either be acquired from a Certificate authority or for testing purposes one can be generated and installed from the below locations:
For IIS5.0: https://support.microsoft.com/kb/228984
Q. Can I modify a virtual directory after creating it?
A. Yes. A virtual directory created using the Configure Web Synchronization wizard can be modified using the same wizard. One needs to select the “Configure an existing virtual directory” on the wizard.
Q. I have 2 IIS servers. Can I use them both for Web Synchronization?
A. Yes, you can. You will need to create separate virtual directories on both the machines and let your subscribers connect to any of these IIS servers for synchronization.
Q. Does that mean I have to run the Configure Web Synchronization multiple times?
A. Yes, you will need to run Configure Web Synchronization once on each of the IIS machines.
Q. On the Web Synchronization wizard page of Directory Access, what is the check box “Grant the above users permissions to access the UNC snapshot share” for?
A. If you are using UNC share for snapshot folder, then the user account that is going to run the synchronization (and/or the –InternetLogin account) needs to have at-least read permissions on the snapshot files in the UNC share for applying snapshot. This page of the wizard is the place where you would want to add all such users who will run the synchronization or be used in –InternetLogin so that they have can run initial synchronization successfully.
Q. I don’t know that snapshot share. Can I skip the “Snapshot Share Access” page for now?
A. Yes, you can skip this page by un-checking the “Grant the above users permissions to access the UNC snapshot share” checkbox. However, you will either need to grant read access to the snapshot share manually to the user account or re-run the Configure Web Synchronization again to provide appropriate permissions.
Q. When I try to access https://myMachine.myDomain.com/myVirtualDirectory/replisapi.dll, I get a successful message. But when I try https://myMachine.myDomain.com/myVirtualDirectory/replisapi.dll?diag, I get “Access is Denied”.
A. This is because the user running the ?diag or the InternetLogin used is not an admin on the IIS box. This is expected. However the synchronization is expected to pass.
Q. When I run my synchronization I get “A security Error Occurred” error.
A. This mostly has to do with a difference in the name of the IIS server you are using in your –InternetURL parameter for synchronization and the name of the machine on the certificate. Ensure that you are using the exact same name in -InternetURL as it is on the certificate. This includes any fully qualified domain name.
Q. My synchronization fails with access denied.
A. Try the following:
· Does the user account running the synchronization or –InternetLogin have read permissions on the snapshot share?
· Does the user account running the synchronization or –InternetLogin have read and execute permissions on replisapi.dll (residing in the virtual directory) on the IIS machine?
· Is the user passed in -PublisherLogin in the Publication Access List (PAL)?
· Does IIS allow anonymous authentication? If so, connections are attempted as the IUSR_ <MACHINENAME> user which may not have the necessary permissions.
Q. Why does my merge agent time out?
A. Is there lot of data to be transferred from publisher to subscriber and while doing so, is the publisher server being taxed? If so, try rerunning the merge agent with higher values of –QueryTimeout, -LoginTimeout and –InternetTimeout (either in the agent command or the profile). Also increase the default connection timeout on the IIS server.
Q. What port is my merge agent using to connect to the IIS server?
A. By default port 443 is used to connect to the IIS server. So when running the Merge agent, you need not specify the port number. However if your IIS server is configured to use a non-default port, you need to specify it in the Merge Agent command line as: https://myMachine.myDomain.com:100/myVirtualDirectory /replisapi.dll
Q. My merge agent fails and I am using Integrated authentication for Publisher/Distributor connection. I don’t know why?
A. If you have a 3 machine setup with Publisher/Distributor, IIS server and Subscriber server all on 3 different machines and you are using integrated authentication, the merge agent can fail if Kerberos delegation is not enabled on the IIS server.
Q. My merge agent fails with error messages indicating something is wrong with the Proxy setting.
A. Are you using a proxy Server? If so you need to set it in Internet Explorer. Go to Internet ExploreràToolsàInternetOptionsàConnectionsàLANsettings. In the Proxy Server address text box, enter the proper proxy server and the port number in the port text box. If the local machine is hosting the IIS server for test purposes, it is recommended to check the box for “Bypass proxy server for local addresses” to avoid DNS lookup.
Alternatively the Proxy server information can be set using the Merge agent parameters: -InternetProxyServer, -InternetProxyLogin and –InternetProxyPassword
If you are not using proxy server uncheck this check box.
If that does not solve your problem, then on the InternetExploreràToolsàInternetOptionsàConnectionsàLANsettings uncheck the Automatically Detect Settings check box and try your merge again.
Q. I sometimes get an error message: “Header information is either corrupted or missing”
A. Do you use ISA Server 2004 and have turned on the "Link Translation" feature?
(for reporting services) If so, turn it off, and try is that helps to make the synchronization successful.
Additionally verify that the IIS and the publisher side components are of the same version.
Q. My merge agent when synchronizing fails, but I do not see the error in the Distributor or the Monitor?
A. When using web synchronization the client does not connect to the distributor/publisher directly. It connects to the IIS server and the IIS server establishes a connection to the distributor/publisher. If the error is coming from the IIS server side, then the merge process has not yet connected to the publisher/distributor. Hence there won't be any errors logged in the distribution database. Check the merge agent console output, job details or websync.log file in your virtual directory on IIS server for errors.
Q. Sometimes I get this error message: “The format of a message during Web synchronization was invalid. Ensure that replication components are properly configured at the Web server”
A. Are you using a mix of .NET 1.1 and .NET 2.0 in your applications? If so, that can cause this error to happen. Try migrating your application to .NET 2.0 completely and see that fixes your problem.
Comments
Anonymous
January 01, 2003
Hi Li, I'm knew to replication and I have a problem with merge replica over the web: I have an application written in C# 2.0 with sql 2005 workgroup as the publisher and sql 2005 express as subscriber, I use anonymous subscriptions with web synchronization. I have a problem with that because as clients deletes the replicated db and starts a new subscription instead of simply reinitialize it, the server count them more and more times (I can see this in the replication monitor). Since sql 2005 workgroup edition has a limit of 25 subscribers, I reached this limit even if the real number of unique subscribers are much less. I can't remove single subscriptions on the publisher using the sp_dropmergesubscription stored procedure since I guess is used only for well know subscribers, so at the moment my only solution is to delete the whole subscription from the publisher and then recreate it. Is there something I'm missing ? Thank you AngeloAnonymous
January 01, 2003
Q. My publisher and IIS are 2 different machines. I do not have any publications on the IIS machine. How do I configure the virtual directory? A. On your IIS machine, open SQL Server Management Studio and connect to your publisher instance of SQL Server. Then follow the steps mentioned in the answer to the above question i couldnot connect to publisher instance of SQL Server from the comp where IIS is running. In the step after creating Virtual directory , where you give access to your share folder "repldata (in my case)" the error message appears:: "cannot access the share folder , please specify the new sharing" It will be very helpful if i can get any suggestion on how to proceed from here the thing was everything was working when IIS and SQLServer were on same Machine. Thank youAnonymous
January 01, 2003
The comment has been removed