【问题标题】:SQL server replication error: "The initial snapshot for publication 'XYZ' is not yet available"SQL 服务器复制错误:“发布 'XYZ' 的初始快照尚不可用”
【发布时间】:2014-08-07 13:22:34
【问题描述】:

我使用的是 sql server 2012,并且我已经在两台服务器之间设置了快照复制。快照代理成功完成,但是复制代理似乎一直在运行并且无法停止。

来自复制监视器的操作消息如下:

初始化
应用脚本“ScriptX.pre”
...
将数据批量复制到表“tabA”
...
在 x 毫秒内从“replicaDataSubFolder”子文件夹传送快照
发布“XYZ”的初始快照尚不可用。

然后动作信息卡在最后一句,停不下来。
有什么想法吗?

【问题讨论】:

    标签: sql-server replication database-replication


    【解决方案1】:

    消息发布“XYZ”的初始快照尚不可用很可能是由于快照代理尚未完成生成快照而弹出的临时消息.

    生成快照后,分发代理开始应用快照,这就是为什么您会看到消息 Delivered snapshot from the 'replicaDataSubFolder' subfolder in x milliseconds ..... Bulk将数据复制到表“tabA”中

    这是正常的,是设计使然。

    验证快照是否已成功应用于订阅者。您可以通过检查订阅者的数据来做到这一点。

    【讨论】:

    • 嗨,布兰登,请查看我更新的操作消息,此“初始快照...”消息是最后一个操作消息。并且在分发代理运行之前,快照代理已经成功完成。
    • 您是否连续运行分发代理?
    • 抱歉,“持续”是什么意思,我手动触发了代理作业。
    • 如果您在 SQL Server 代理 -> 作业 -> 属性下右键单击分发代理作业并导航到步骤页面,然后单击编辑,命令文本是否包含 -Continuous 参数?跨度>
    • 是的,它有Continuous参数。
    【解决方案2】:

    link 解决了我的问题。

    原因:

    您已创建或重新初始化使用“是,初始化架构和数据”选项创建的事务订阅,并且您在启动快照代理之前或在快照代理完成之前启动了分发代理。如果只有一篇文章与分发代理相关联,您只会看到此错误。如果有多个文章与分发代理相关联,您可能会看到错误 21075,“发布 '%s' 的初始快照尚不可用。”

    解决方案:

    如果关联的快照代理自创建订阅后未启动,或者自您上次选择重新初始化订阅后未启动,则需要启动快照代理并使其完成,然后再启动分销代理。

    如果 Snapshot Agent 未完成,请检查 Snapshot Agent 历史记录中的错误并解决它们。如有必要,您可以将日志添加到快照代理,以查看是否可以针对任何错误返回更多详细信息。

    【讨论】:

      猜你喜欢
      • 2015-11-22
      • 2014-05-20
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多