Creating replication between SQL Server 2000 (publisher) and SQL Server 2008 (subscriber) - sql-server

I have old database server as SQL Server 2000 whose data has to be periodically updated to the SQL Server 2008 server (may be one time per day). So I have planned to use the replication. First I have created distribution database in SQL Server 2000 & added the new database as publisher.
But when I created the subscriber in SQL Server 2008 & connects to SQL Server 2000 then the publisher doesn't appear in the list. What could be the reason, I am using SQL Server 2008 express edition or if any one could point out to the step by step guide for setting up replication between SQL Server 2000 and 2008? I have used the wizard in SQL Server 2000 for creating distribution & publisher.

Mixed versions are supported, but:
Distributor version must always be equal or newer than Publisher
Subscribers for transactional replication can be within 2 versions newer/older of Publisher
Subscribers for merge replication must be equal or older than Publisher

Related

MSSQL Transactional Replication different versions

we are currently using a 2008R2 publisher/distributor for replication.
The subscribers are versions 2008R2 and 2012.
Next week, we would like to update our servers step by step.
I read in the docs, that the subscriber must be within 2 versions of the publisher.
Does this mean, i could upgrade the publisher/distributor to 2014 and use subscribers with versions 2008R2, 2012 and 2017 simultaneously? (we plan to upgrade the subscribers to SQL-server 2017)
For SQL Server 2014 publisher you can have subscribers of SQL Server 2017
SQL Server 2016,SQL Server 2014,SQL Server 2012,SQL Server 2008 R2,SQL Server 2008
So it is possible.
Matix will give you a sound idea.
https://learn.microsoft.com/en-us/sql/relational-databases/replication/replication-backward-compatibility?view=sql-server-ver15

SQL Server Replication issues

I'm trying to set database snapshot replication using c# with SQL Server 2008 R2. when I'm connecting to the server everything goes as it should... but after the following lines of the code:
distributor = new ReplicationServer(conn);
distributor.InstallDistributor((string)null, distributionDb);
the following error occurs:
This edition of SQL Server cannot act as a Publisher or Distributor for replication. Changed database context to 'master'
Any ideas?
Per Replication Considerations (SQL Server Express), SQL Server Express cannot serve as a Publisher or Distributor, only as a Subscriber. You will need a Standard Edition or higher instance to configure distribution and setup a publication. The Express Edition instance can then serve as a Subscriber.
SQL Server Express cannot serve as a Publisher or Distributor.

Setting up Publication on SQL Server 2008 R2 Express

I cannot find the Local Publication folder in the node Replication in my SQL Server Management Studio.
I recently installed SQL Server 2008 R2 Express edition.
I also created two instances for testing purposes.
Solution for SQL Server 2005 is available here but not for SQL Server 2008 R2 Express
According to Replication Considerations (SQL Server Express), a SQL Server Express Edition instance cannot be used as a Publisher or Distributor:
SQL Server Express cannot serve as a Publisher or Distributor.
However, a SQL Server Express Edition instance can serve as a Subscriber.
You will need a SQL Server Standard Edition instance or higher to configure a publication.
Summarizing comments at one place - so it helps others,
SQL 2008 Express can not be used as publisher but can be used as subscriber.
read on MSDN to find out more Replication Considerations (SQL Server Express)

Using microsoft sync framework 2.1 for SQL Server 2000

We need to synchronize database and image files between two servers. The source server has sql server 2000 and the destination server has sql server 2008. We need to synchronize data in some tables in sql server 2000 so that the updated data comes to sql server 2008 every once in a while. Similarly for the folder where images are stored.
I tried to implement Microsoft sync framework (http://msdn.microsoft.com/sync) with WCF to achieve the goal. I ran the following project successfully for two databases in SQL Server 2008:
http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208/sourcecode?fileId=19017&pathId=519811259
However, when I tried to synchronize data between database, one in sql server 2000 and sql server 2008, then I could not synchronize data.
Questions:
Is there anyway to synchronize data between sql server 2000 and sql server 2008?
If not, are there any other possible architectures i can implement to achieve the objective?
the minimum Sql Server version for the sync provider in the sample you used above is Sql Server 2005 SP2 (where min_active_version() was introduced.)
try using the steps in this link so you can overrride the commands and make them work against Sql 2000: Synchronizing Other ADO.NET Compatible Databases

SQL Server Express 2008 replication/synchronisation

We are looking at developing a small, simple, Access system for a client using SQL Server Express (2005 or 2008) as database. The only complicating factor is they have two offices and they will need to synchronise some (but not all) data between them.
What are my options with the Express edition for doing this? Is there any advantage to using 2008 over 2005?
Microsoft SQL Server 2008 Express (SQL Server Express) can serve as a Subscriber for all types of replication.
SQL Server Express cannot serve as a Publisher or Distributor.
Ref.
You could look to managing this yourself -- using GUIDs for primary keys, and a last update time stamp, as well as tracking last sync, etc.
If there isn't too much to keep in sync, then it shouldn't be too hard
Following should be done:
1) Server - SQL 2008 Server - Publisher / Distributor
one Central server - sql 2008 server - this would be the central place for data. You can created publication on sql server and specify which all tables need to be included in publication (before that you also need to finalize which replication method you need )
2) Client - SQL 2008 Express - Subscriber
in your case - each office can have sql express - you can use as many as you want. These express instances need to have subscription to the publication created by the central server.
( this also means that the SQL server should be accessible to the client - if you are not on intranet - VPN can help - vpn should be on - to create subscription and sync. If you don't have vpn - the server needs to have public IP and port open that client can subscribe to).

Resources