发布“xx”的并发快照 不可用,因为它尚未完全生成或日志读取器 A
我在让 SQL Server (2005) 正常工作时遇到了各种各样的问题。 当我运行客户端 (SQL Server Express 2005) 时,出现以下错误“发布 'xx' 的并发快照不可用,因为它尚未完全生成或日志读取器 A”
该错误被截断。
我努力了: - 删除订阅 - 删除出版物并重新开始 - 重新启动服务器和客户端。 - 缩小数据库
全部不做任何改变。
我知道客户端可以看到网络共享 \servername\repldata,其中有一个 UNC 子文件夹,其中包含快照(按预期是一个更深的文件夹,其中包含 pubName 和 dateTime 编码)
任何提示或旅行将非常感激
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
但这是解决方案:
http://social. msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/
1) 删除订阅& 整个发布不工作
2) 在这些表上运行选择以查看发布数据库是否仍有可用的行:
3) 现在从刚刚删除的发布者数据库中删除仍然具有“publisher_db”的所有行:
4)重新创建出版物& 订阅者正常那样
应该可以解决问题:-)
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:
3) now delete all rows that have still the 'publisher_db' from the just deleted publisher database:
4) re-create the publication & the subscriber as normal
That should do the trick :-)
是否已生成发布的快照? 有时这需要很长的时间,有时会推迟到稍后的时间。 如果制作完成,您应该能够在磁盘上的某个位置找到它。
确保日志读取器正在发布服务器上运行,如果这是事务复制,我认为是这样。
确保
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.
Make sure that the Log Reader is running on the Publisher, if this is Transactional Replication, which I assume it is.
在我的情况下,这是因为分销商数据库上的“MSSubscriptions”表的 nosync_type=1 和 status=2。 上面分别改为0和1。
再次重新初始化快照,然后分发代理开始获取这些更改。
In my situation, it was due to fact that "MSSubscriptions" table on distributor database had nosync_type=1 and status=2. Changed above to 0 and 1 respectively.
Reinitialized the snapshot again and then distributor agent started picking up these changes.
我刚刚再次重新初始化快照(新快照,不要重复使用旧快照),然后分销商代理开始获取这些更改。
I just reinitialized the snapshot again (new snapshot, don't reuse old one) and then distributor agent started picking up these changes.
对我来说,只需授予日志读取器和分发服务帐户 DB_Owner 访问发布数据库的权限即可。 我不确定它们是否都需要,但这是一个简单的修复。
For me it was just matter of giving the Log-Reader and Distribution service accounts DB_Owner access to the publishing database. I'm not sure if they were both required, but it was an easy fix.