发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A相关的知识,希望对你有一定的参考价值。
我在使SQL Server(2005)正常工作时遇到各种麻烦。当我运行客户端(SQL Server Express 2005)时,我收到以下错误“发布的并发快照'xx'不可用,因为它尚未完全生成或日志读取器A”
错误被裁掉了。
我尝试过: - 删除订阅 - 删除发布并重新开始 - 重新启动服务器和客户端。 - 收缩数据库
一切都没有任何改变。
我知道客户端可以看到网络共享 servername repldata,其中有一个UNC子文件夹,其中包含快照(更深层次的文件夹,其中包含pubName和dateTime编码)
任何提示或旅行都将非常感激
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)正常重新创建出版物和订户
这应该够了吧 :-)
- 是否生成了发布的快照?有时这需要花费很长时间,有时会延迟到以后的时间。如果它是,你应该能够在磁盘上的某个地方找到它。
- 确保日志读取器在发布服务器上运行,如果这是事务复制,我认为它是。
在我的情况下,这是因为分发器数据库上的“MSSubscriptions”表有nosync_type = 1和status = 2。上面分别改为0和1。
再次重新初始化快照,然后分发服务器代理开始接收这些更改。
我只是再次重新初始化快照(新快照,不要重复使用旧快照)然后分销商代理开始接收这些更改。
对我来说,只需要让日志读取器和分发服务帐户DB_Owner访问发布数据库。我不确定它们是否都是必需的,但它很容易解决。
以上是关于发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A的主要内容,如果未能解决你的问题,请参考以下文章
VScode中pytorch出现Module 'torch' has no 'xx' member错误
mysql The user specified as a definer ('XX'@'%') does not exist