Sql-server – Transactional replication from SQL Server 2000 to 2008

replicationsql serversql-server-2000sql-server-2008

I have legacy databases on two SQL Server 2000 servers that I am trying to replicate to a SQL Server 2008 R2 database using transactional replication.

The 2008 server is not in the same LAN, so I am replicating across the internet. I created aliases so that each server can connect to the others by name (required for replication) more or less as described by MohammedU (and others) here: http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/9a8cf6b1-a449-4748-b3c2-1c13e2bfcc5b/

The only difference is that I used Client Network Utility rather than Configuration Manager to create aliases on the SS2000 machines. This seems to work fine.

I set up one SS2000 server, call it Distributor, to be the distributor for both. I have successfully created publications on Distributor and replicated them using push subscriptions to the SS 2008 server, call it Subscriber.

I have now set up publications on the second SS2000 server, call it Publisher. I created push subscriptions for them in the same manner. These subscriptions are not working.

In the Replication Monitor on Distributor, the Distribution Agents for publications on Publisher have the following error messages:

Error message: The process could not connect to Subscriber 'SUBSCRIBER'
Error details: Login failed for user 'SUBSCRIBER\Guest.' 
(Source: SUBSCRIBER (Data source); Error number: 18456)

I also tried creating pull subscriptions on Subscriber. The wizard said they were created succesfully, and the corresponding Distribution Agents showed up correctly in the Replication Monitor on Distributor, but the replication never happened. The Agents kept displaying a message that the snapshot was not available, even though it was.

Can anyone help?

Best Answer

Could you try moving the distributor over on to the SQL 2008 box. Replication got much better after SQL 2005. Looks like you are using anonymous subscriptions, do you not have VPN so that servers can see each other? I am not familiar with Internet based subscribers so probably not much help on its specifics.