我正在使用sql server 2012,并且我已经在两台服务器之间设置了快照复制。快照代理成功完成,但复制代理似乎永远在运行,无法停止。
来自复制监视器的操作消息如下:
初始化
应用脚本' ScriptX.pre'
...
批量复制数据到表格'
...
从“replicaDataSubFolder”中传送快照'子文件夹,以x毫秒为单位 发布的初始快照' XYZ'目前尚不可用。
然后行动信息停留在最后一句话并且无法停止 有什么想法吗?
答案 0 :(得分:1)
消息 发布'XYZ'的初始快照尚未可用 很可能是由于快照代理尚未完成快照而弹出的瞬态消息
生成快照后,分发代理开始应用快照,这就是您在x毫秒内从'replicaDataSubFolder'子文件夹中看到 传递快照的消息的原因.....批量将数据复制到表'tabA' 。
这是正常的设计。
验证快照是否已成功应用于订阅者。您可以通过检查订户的数据来执行此操作。
答案 1 :(得分:0)
这个link解决了我的问题。
原因:
您已经创建或重新初始化了使用“是,初始化架构和数据”选项创建的事务订阅,并且在启动快照代理之前或快照代理完成之前启动了分发代理。仅当与分发代理程序关联的一篇文章时,您才会看到此错误。如果有多个与分发代理程序相关联的文章,您可能会看到错误21075,“发布'%s'的初始快照尚不可用。”
解决方案:
如果自创建订阅以来尚未启动关联的Snapshot Agent,或者自上次选择重新初始化订阅以来尚未启动关联的Snapshot Agent,则需要启动Snapshot Agent并使其完成,然后再启动分销代理。
如果Snapshot Agent未完成,请检查Snapshot Agent历史记录中的错误并解决。如有必要,可以将日志添加到快照代理,以查看是否可以为错误返回更多详细信息。