Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The concurrent snapshot for publication 'xx' is not available because it has not been fully generated or the Log Reader A

I am having all sorts of trouble getting SQL Server (2005) to work properly. When I run the client (SQL Server Express 2005) I get the following error "The concurrent snapshot for publication 'xx' is not available because it has not been fully generated or the Log Reader A"

The error is cropped off.

I have tried: - Deleting the subscription - Deleting the publication and starting again - Restarting the server and client. - Shrinking the database

All without any change.

I know that the client can see the network share \servername\repldata which has a UNC subfolder with the snapshot in it (a folders deeper with the pubName and dateTime encoding as expected)

Any tips or trips would be REALLY appreciated

like image 795
John Selkirk Avatar asked Dec 17 '22 07:12

John Selkirk


2 Answers

But here is the solution: http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/

1) delete the subscription & the whole publication that is not working

2) run a select on these tables to see if there are still rows for the publication database available:

select * from msdb..MSdistpublishers
select * from distribution..MSpublisher_databases
select * from distribution..MSpublications
select * from distribution..MSarticles
select * from distribution..MSsubscriptions

3) now delete all rows that have still the 'publisher_db' from the just deleted publisher database:

delete from distribution..MSarticles where publisher_db = '<NameOfDatabase>'
delete from distribution..MSsubscriptions where publisher_db = '<NameOfDatabase>'

4) re-create the publication & the subscriber as normal

That should do the trick :-)

like image 117
Reini Avatar answered May 10 '23 06:05

Reini


  1. Has the snapshot for the publication been generated? Sometimes this takes a looong time and sometimes it gets deferred to a later time. If it is made, you should be able to find it on disk somewhere.

  2. Make sure that the Log Reader is running on the Publisher, if this is Transactional Replication, which I assume it is.

like image 20
RBarryYoung Avatar answered May 10 '23 06:05

RBarryYoung