Wednesday, March 28, 2012

MSDE 2000A Upgrade to SQL Express SP1 with Merge Replication

Hello,

I have the following scenario. An application using SQL Server 2000 SP3 on the server side and clients using MSDE 2000A (SP3a) on the client machine. Since the client is offline quite often merge replication is used to keep the clients in sync.

Now we try to upgrade to SQL Server 2005 SP1. The publisher and distributor upgrade (on the same box) worked fine and all clients could still synchronize. Fine :-)

Now we try to upgrade the clients to SQL Express SP1. Now the problems start :-(

1) After the upgrade the entry within the Synchronization Manager is gone (we can overcome this by using sp_MSregistersubscription or by manually disable and enable Synchronization manager on the subscription properties)

2) Initial Synchronization (takes a long time but) works fine, if I apply changes to the subscriber or force a reinitialize all following synchronization will fail. With the following messages:

Error messages:
The merge process could not clean up the subscription to 'tstvmw23':'TestBase:'TestBase'. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147200965)
Get help: http://help/MSSQL_REPL-2147200965
New request is not allowed to start because it should come with valid transaction descriptor. (Source: MSSQLServer, Error number: 3989)
Get help: http://help/3989

Remark the test system I use is a nearly empty db (only with full schema and a few lookup tables) with 15MB. The same error occures if I create a new database an subscribe to the same publication.

Please help otherwise I'm forced to step back to MSDE.

Thanks in advance,

Thomas Hotz

Hi,

just to make sure you do not want SQL Server Express to the a merge replicant...

http://msdn2.microsoft.com/en-us/library/ms165616.aspx

HTH, Jens K. Suessmeyer.

http://www.sqlserver2005.de|||What this table on the BOL means is that SQL Server Express cannot act as a Distributor/Publisher on a merge replication and the main cause is that it does not have an Agent.
http://technet.microsoft.com/en-us/library/ms143470.aspx
See the topic SQL Server does not include an agent on that reference.

SQL Server Express can act as a subscriber on Merge Replication though. If you have a type of subscription Pull, as the Agent runs on the subscribers you have to use RMO on your code to instantiate an agent or use Windows Synchronization Manager (Start Menu-> Accessories -> Synchronize)

We have SQLE running as subscribers on a pull merge replication topology...sql

No comments:

Post a Comment