发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A相关的知识,希望对你有一定的参考价值。

我在使SQL Server(2005)正常工作时遇到各种麻烦。当我运行客户端(SQL Server Express 2005)时,我收到以下错误“发布的并发快照'xx'不可用,因为它尚未完全生成或日志读取器A”

错误被裁掉了。

我尝试过: - 删除订阅 - 删除发布并重新开始 - 重新启动服务器和客户端。 - 收缩数据库

一切都没有任何改变。

我知道客户端可以看到网络共享 servername repldata,其中有一个UNC子文件夹,其中包含快照(更深层次的文件夹,其中包含pubName和dateTime编码)

任何提示或旅行都将非常感激

答案

但这是解决方案:http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/

1)删除订阅和整个不起作用的出版物

2)对这些表运行select以查看是否仍有可用的发布数据库行:

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)正常重新创建出版物和订户

这应该够了吧 :-)

另一答案
  1. 是否生成了发布的快照?有时这需要花费很长时间,有时会延迟到以后的时间。如果它是,你应该能够在磁盘上的某个地方找到它。
  2. 确保日志读取器在发布服务器上运行,如果这是事务复制,我认为它是。
另一答案

在我的情况下,这是因为分发器数据库上的“MSSubscriptions”表有nosync_type = 1和status = 2。上面分别改为0和1。

再次重新初始化快照,然后分发服务器代理开始接收这些更改。

另一答案

我只是再次重新初始化快照(新快照,不要重复使用旧快照)然后分销商代理开始接收这些更改。

另一答案

对我来说,只需要让日志读取器和分发服务帐户DB_Owner访问发布数据库。我不确定它们是否都是必需的,但它很容易解决。

以上是关于发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A的主要内容,如果未能解决你的问题,请参考以下文章

VScode中pytorch出现Module 'torch' has no 'xx' member错误

C#textbox控件的不可编辑属性

R extrafont包,依赖'Rttf2pt1'不可用

mysql The user specified as a definer ('XX'@'%') does not exist

matlab保留小数点后两位。

【redis】redis 手动切换主从