Параллельный моментальный снимок для публикации «xx» недоступен, так как он не был полностью сгенерирован или программа чтения журнала A

У меня возникают всевозможные проблемы с правильной работой SQL Server (2005). Когда я запускаю клиент (SQL Server Express 2005), я получаю следующую ошибку: «Параллельный моментальный снимок для публикации «xx» недоступен, поскольку он не был полностью создан или средство чтения журнала A»

Ошибка обрезана.

Пробовал: - Удалить подписку - Удалить публикацию и запустить заново - Перезапустить сервер и клиент. - Сокращение базы данных

Все без каких-либо изменений.

Я знаю, что клиент может видеть сетевую папку \servername\repldata, в которой есть подпапка UNC со снимком в ней (папки глубже с кодировкой pubName и dateTime, как и ожидалось)

Любые советы или поездки будут ДЕЙСТВИТЕЛЬНО оценены


person John Selkirk    schedule 19.06.2009    source источник
comment
Можете ли вы уточнить, какой тип репликации вы используете, снимок/транзакция/слияние? Вы используете push- или pull-подписку?   -  person John Sansom    schedule 19.06.2009


Ответы (5)


Но вот решение: http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/

1) удалить подписку и всю неработающую публикацию

2) запустите выбор этих таблиц, чтобы увидеть, есть ли еще доступные строки для базы данных публикации:

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

3) теперь удалите все строки, в которых все еще есть 'publisher_db' из только что удаленной базы данных издателя:

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

4) заново создайте публикацию и подписчика как обычно

Это должно делать свое дело :-)

person Reini    schedule 10.02.2012
comment
Не нужно извиняться за поздний ответ — такие комментарии более чем приветствуются! - person Matt Fenwick; 10.02.2012

  1. Был ли создан снимок для публикации? Иногда это занимает много времени, а иногда откладывается на более позднее время. Если это сделано, вы сможете найти его где-то на диске.

  2. Убедитесь, что средство чтения журнала запущено на издателе, если это репликация транзакций, как я предполагаю.

person RBarryYoung    schedule 19.06.2009

В моей ситуации это было связано с тем, что таблица «MSSubscriptions» в базе данных распространителя имела nosync_type=1 и status=2. Изменено выше на 0 и 1 соответственно.

Повторно инициализировал моментальный снимок, а затем агент распространителя начал собирать эти изменения.

person PROLVP    schedule 26.11.2013

Я просто снова инициализировал снимок (новый снимок, не использовать повторно старый), и затем агент распространителя начал собирать эти изменения.

person Kyle Johnson    schedule 11.04.2017

Для меня это было просто вопросом предоставления учетным записям службы Log-Reader и Distribution DB_Owner доступа к базе данных публикации. Я не уверен, что они оба были необходимы, но это было легко исправить.

person Jordan    schedule 26.02.2019