Thanks again for your help. I did as you said. While I can try to start the replication by script, I was wondering if there was a way to start it via the SQL Mgmt. Studio Express
The general rule of thumb for replication topologies involving multiple versions of SQL Server is the following (with a couple exceptions):
SQL Server Version of Distributor >= SQL Server Version of Publisher >= SQL Server Version of Subscriber.
If you are using a merge agent, the rule will be strictly followed. SQL 2000 publisher and SQL 2005 subscriber is not supported.
If you are using a transactional read-only subscriber then the subscriber can be up to two versions higher than the publisher. SQL 2000 publisher and SQL 2005 subscriber should work, please repost if this is not working for you.
If you are using a transactional updateable subscriber then the subscriber must be at least SQL 2000 SP3. Not applicable to your question.
Hope this helps,
Tom
This posting is provided "AS IS" with no warranties, and confers no rights.
Thanks again. It worked this time. I also found out that installing SP4 on the SQL 2000 box will make it 'see' SQL 2005 Express machines...
One more question was: if you could point me to a doc where I can find out how to programatically initiate a pull replication. The synchronise script that I ran, waits for changes on the publisher rather than exiting after execution once. I want to have control from my program rather than having a continuos replication or scheduled replication.
If you don't want it to run continuously, then remove the "-Continuous" parameter. Please search for Merge Replication in Books Online, which can also be accessed online at http://msdn2.microsoft.com.
Thanks for your reply. I created the subscription using 'sp_addpullsubscription' using the sqlcmd as I did not have the SQL Mgmt. Studio. I have downloaded and installed the SQL Mgmt. Studio now, and when I right-click on properties for my local subscription under Replication, I see the error below:
"Server 'MySqlExpress2005Machine\SQLEXPRESS' is not registered at server 'MySqlServer2000Machine'."
So, the registration problem si gone, but now I have another problem. I tried to start my pull subscription from the sql 2005 box using the following command:
REM -- Declare the variables. SET Publisher=%instancename% SET Subscriber=%instancename% SET PublicationDB=Northwind SET SubscriptionDB=Northwind SET Publication=Northwind
REM -- Start the Distribution Agent. REM -- The following command must be supplied without line breaks. "C:\Program Files\Microsoft SQL Server\90\COM\DISTRIB.EXE" -Subscriber %Subscriber% -SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication% -Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher% -DistributorSecurityMode 1 -Continuous -SubscriptionType 1
But, I get an error now:
"2006-01-24 23:59:35.585 Agent message code 21056. The subscription to publication 'Northwind' has expired and does not exist."
I'm guessing it means your subscription wasn't set up properly. How about you delete your existing subscription, and start all over using the UI. Once it gets set up correctly, you can script it out.
I think I know what you meant. To connect to my 2000 instance from SQL Mgmt. Studio Express and then setup 2005 as a subscriber. I just did that, and my 2005 instance showed up in the subscription dialog box in sql 2000. great.
But, the properties for my subscription on my 2005 box still shows the error that the 2000 box is not registered. any clues
I have created the publisher on SQL Server 2000 m/c and also created the subscriber on the SQL Express 2005 m/c. I have setup a Transactional Read-Only Pull Subscription. The thing I am stuck on is:
How to register the subscriber on the publisher server
My SQL Server 2000 server cannot see/register my SQL Express 2005 m/c Can you help me to figure it out
SQL 2000 Publisher and SQL 2005 Suscriber
Andrew Wilkes
Greg,
Thanks again for your help. I did as you said. While I can try to start the replication by script, I was wondering if there was a way to start it via the SQL Mgmt. Studio Express
Please let me know.
Thanks,
Rupak Ganguly
MELVINE
Check out the following topic in SQL 2005 BOL: Using Multiple Versions of SQL Server in a Replication Topology
(ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/rpldata9/html/45154b65-b46f-4aad-82e4-261376a7e9d4.htm)
The general rule of thumb for replication topologies involving multiple versions of SQL Server is the following (with a couple exceptions):
SQL Server Version of Distributor >= SQL Server Version of Publisher >= SQL Server Version of Subscriber.
If you are using a merge agent, the rule will be strictly followed. SQL 2000 publisher and SQL 2005 subscriber is not supported.
If you are using a transactional read-only subscriber then the subscriber can be up to two versions higher than the publisher. SQL 2000 publisher and SQL 2005 subscriber should work, please repost if this is not working for you.
If you are using a transactional updateable subscriber then the subscriber must be at least SQL 2000 SP3. Not applicable to your question.
Hope this helps,
Tom
This posting is provided "AS IS" with no warranties, and confers no rights.
BobGun
Greg,
Thanks again. It worked this time. I also found out that installing SP4 on the SQL 2000 box will make it 'see' SQL 2005 Express machines...
One more question was: if you could point me to a doc where I can find out how to programatically initiate a pull replication. The synchronise script that I ran, waits for changes on the publisher rather than exiting after execution once. I want to have control from my program rather than having a continuos replication or scheduled replication.
You help is greatly appreciated.
urbancenturion
Greg,
Ignore the previous post.
To answer your question, NO, I could NOT register SQL Express 2005 as a subscriber, because 2000 cannot see 2005 server. That is the problem...
Thanks,
Rupak Ganguly
Eric J. Johnson
If you don't want it to run continuously, then remove the "-Continuous" parameter. Please search for Merge Replication in Books Online, which can also be accessed online at http://msdn2.microsoft.com.
PaulFila
Greg,
Thanks for your reply. I created the subscription using 'sp_addpullsubscription' using the sqlcmd as I did not have the SQL Mgmt. Studio. I have downloaded and installed the SQL Mgmt. Studio now, and when I right-click on properties for my local subscription under Replication, I see the error below:
"Server 'MySqlExpress2005Machine\SQLEXPRESS' is not registered at server 'MySqlServer2000Machine'."
Any help will be appreciated.
Thanks a lot,
Rupak Ganguly
joceryl
Greg,
So, the registration problem si gone, but now I have another problem. I tried to start my pull subscription from the sql 2005 box using the following command:
REM -- Declare the variables.
SET Publisher=%instancename%
SET Subscriber=%instancename%
SET PublicationDB=Northwind
SET SubscriptionDB=Northwind
SET Publication=Northwind
REM -- Start the Distribution Agent.
REM -- The following command must be supplied without line breaks.
"C:\Program Files\Microsoft SQL Server\90\COM\DISTRIB.EXE" -Subscriber %Subscriber%
-SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication%
-Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher%
-DistributorSecurityMode 1 -Continuous -SubscriptionType 1
But, I get an error now:
"2006-01-24 23:59:35.585 Agent message code 21056. The subscription to publication 'Northwind' has expired and does not exist."
Please help as I am so close....
Thanks,
Rupak Ganguly
Arnauld
I'm guessing it means your subscription wasn't set up properly. How about you delete your existing subscription, and start all over using the UI. Once it gets set up correctly, you can script it out.
m-atmakuri
Greg,
Oh, now I see what you are saying... Let me give it shot. Thanks for the quickie....
Thanks,
Rupak Ganguly
AvengerDr
SQL 2000 Enterprise Manager does not support SQL 2005 servers. What you need to do is use SQL 2005 SQL Server Management Studio to add your subscription, since the subscriber is SQL 2005. YOu can download a CTP version of SQL Server Management Studio Express here: http://www.microsoft.com/downloads/details.aspx familyid=82afbd59-57a4-455e-a2d6-1d4c98d40f6e&displaylang=en
anam
Did you connect to the SQL 2000 machine and add your SQL 2005 server as a valid subscriber
Tie2000
Greg,
I think I know what you meant. To connect to my 2000 instance from SQL Mgmt. Studio Express and then setup 2005 as a subscriber. I just did that, and my 2005 instance showed up in the subscription dialog box in sql 2000. great.
But, the properties for my subscription on my 2005 box still shows the error that the 2000 box is not registered. any clues
thanks,
rupak ganguly
Sten-Gunnar
Hi Tom,
I have created the publisher on SQL Server 2000 m/c and also created the subscriber on the SQL Express 2005 m/c. I have setup a Transactional Read-Only Pull Subscription. The thing I am stuck on is:
How to register the subscriber on the publisher server
My SQL Server 2000 server cannot see/register my SQL Express 2005 m/c Can you help me to figure it out
Thanks,
Rupak Ganguly
Deadlock42440
There are topics in SQL Server 2005 Express Books Online that can answer all your questions. Look for the section "Replication in SQL Server Express".