简体   繁体   English

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

[英]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. 我在使SQL Server(2005)正常工作时遇到各种麻烦。 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" 当我运行客户端(SQL Server Express 2005)时,我收到以下错误“发布的并发快照'xx'不可用,因为它尚未完全生成或日志读取器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) 我知道客户端可以看到网络共享\\ servername \\ repldata,其中有一个UNC子文件夹,其中包含快照(更深层次的文件夹,其中包含pubName和dateTime编码)

Any tips or trips would be REALLY appreciated 任何提示或旅行都将非常感激

But here is the solution: http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/ 但这是解决方案: 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 1)删除订阅和整个不起作用的出版物

2) run a select on these tables to see if there are still rows for the publication database available: 2)对这些表运行select以查看是否仍有可用的发布数据库行:

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: 3)现在从刚刚删除的发布者数据库中删除仍具有“publisher_db”的所有行:

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

That should do the trick :-) 这应该够了吧 :-)

  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. 确保日志读取器在发布服务器上运行,如果这是事务复制,我认为它是。

In my situation, it was due to fact that "MSSubscriptions" table on distributor database had nosync_type=1 and status=2. 在我的情况下,这是因为分发器数据库上的“MSSubscriptions”表有nosync_type = 1和status = 2。 Changed above to 0 and 1 respectively. 上面分别改为0和1。

Reinitialized the snapshot again and then distributor agent started picking up these changes. 再次重新初始化快照,然后分发服务器代理开始接收这些更改。

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

For me it was just matter of giving the Log-Reader and Distribution service accounts DB_Owner access to the publishing database. 对我来说,只需要让日志读取器和分发服务帐户DB_Owner访问发布数据库。 I'm not sure if they were both required, but it was an easy fix. 我不确定它们是否都是必需的,但它很容易解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 SQL 服务器复制错误:“发布 &#39;XYZ&#39; 的初始快照尚不可用” - SQL server replication error: “The initial snapshot for publication 'XYZ' is not yet available” SQL Azure:事务已初始化,但尚未生成任何日志记录 - SQL Azure: The transaction has been initialized but has not generated any log records “具有可更新订阅的事务性出版物”-出现错误-“分发服务器未正确安装” - “Transactional publication with updatable subscriptions” - gives error - “The distributor has not been installed correctly” 处理完快照连接后,调用链接服务器失败 - Calling a linked server fails after a snapshot connection has been disposed 我无法为快照复制添加新的发布 - I cannot add new publication for snapshot replication EF6由于已经处理了DbContext,因此无法完成操作 - EF6 The operation cannot be completed because the DbContext has been disposed 无法完成该操作,因为已经放置了DbContext,PagedList - The operation cannot be completed because the DbContext has been disposed, PagedList 汇总功能出版物中的汇总功能不可用作文章 - Aggregate Function not available as Article in Merge Rep Publication 无法为SQL Server 2016发布创建快照代理 - Can't create snapshot agent for SQL Server 2016 publication 复制-将文章添加到发布中会导致所有其他文章的快照 - Replication - Adding article to a publication causing the snapshot of all other articles
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM