【问题标题】:Replication new article being added to transactional replication, snapshot generated but not applied, no errors复制新文章被添加到事务复制,快照生成但未应用,没有错误
【发布时间】:2019-11-14 18:18:53
【问题描述】:

我们在两台 2016 年的服务器上进行了复制设置。分发和发布者在同一个实例上。我们此时正在运行事务复制,没有问题。我们正在尝试将新表添加到复制中,这些是我们遵循的步骤:

  1. 转到发布者的属性。文章。检查要添加的新表。单击确定,不会提示重新初始化(这是我们想要的)。
  2. 转到复制监视器,启动快照代理以获取部分快照。在这种情况下,会生成一篇文章(选择了一个表)。

在这之后什么都没有发生。表未出现在订阅者数据库中。

allow-anonymous 为 false,immediate-sync 为 false。

我错过了一个步骤还是可能是另一个问题?

使用安装在两台服务器上的 SQL Server 2016 SP2-CU8。

【问题讨论】:

  • 我从这个博客运行了查询:dharmendrakeshari.com/… 有问题的文章声明它是活跃的(已发布)。这就像复制认为它已经发布但它不在复制的服务器上。
  • 使事情进一步复杂化。日志阅读器代理现在正在抛出错误。说明该表不存在..

标签: sql-server replication sql-server-2016 transactional-replication


【解决方案1】:

我建议您检查已发布文章的以下两个选项:在订阅者处创建架构和在使用对象时执行操作。第一个必须设置为 true,如果您的应用程序逻辑允许,您可以将第二个设置为 Drop and Re-create。如果您不能允许删除目标表,那么至少第一个选项必须设置为 true,以便复制代理在目标表丢失时自动创建目标表。有关提到的选项,请参见下图:

HTH

【讨论】:

  • 谢谢 Andrew,我会检查一下,如果解决了,请回复!
  • 似乎已经按照您推荐的方式进行了设置。我们现在正在做的是在测试服务器上重新创建复制,以查看并尝试查看是否可以重新创建问题。
【解决方案2】:

我遇到了同样的问题,并通过将 allow_anonymous 和 immediate_sync 属性改回 TRUE 然后再次改回 FALSE 来解决它。

这就像一个魅力。

【讨论】:

    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多