sql-server - 合并复制在重新发布时未通过事务复制接收更新

标签 sql-server replication merge-replication transactional-replication

我正在尝试从服务器 Z 迁移到服务器 A 和 B,服务器 Z 复制到两个数据中心的十几个订阅者,每个数据中心一个。为了在数据中心之间的中断中幸存下来,我们正在考虑在 A 和 B 之间进行合并复制。

我最初的计划是使用 Z 并使用事务处理转到 A,然后将其复制到 B。然后,当我们将流程迁移到使用 A 时,我们可以一次滚动一个流程。

但是,虽然我可以直接对 A 或 B 进行更新并将它们转到其他服务器,但通过事务复制 (Z) 对 A 的更新不会到达 B!

身份设置为 NOT FOR REPLICATION,但其余部分非常标准。

最佳答案

好问题。

您需要将所有参与交易发布的合并文章的合并文章属性 @published_in_tran_pub 设置为 true。您可以使用 sp_changemergearticle在服务器 A 上执行此操作:

    EXEC sp_changemergearticle 
        @publication = 'MyPublication', 
        @article = 'MyArticle', 
        @property = 'published_in_tran_pub', 
        @value = 'true';

您可以随意执行此更改,而无需生成新快照或重新初始化订阅。

关于sql-server - 合并复制在重新发布时未通过事务复制接收更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875985/

相关文章:

distributed - 同步噩梦——是否可以在没有 IIS 的 2 个 SQL CE 实例之间使用合并复制(或 RDA)?

sql-server - 从 Azure Web 应用程序(通过 Azure S2S VPN)查询本地 SQL Server 失败

sql-server - SQL Server 2005/08 中的对等复制

mysql - slave 在主从配置中多久更新一次?

mysql - 设置 MySQL 复制?

sql-server - 为什么有人应该将身份范围管理与 SQL Server 结合使用

sql-server-2008-r2 - sp_MScheckIsPubOfSub存储过程的问题

sql - 在我的表、存储过程和 SQL Server View 中查找文本

SQL Server XML 查询格式

sql-server - 在SQL Server中更改链接服务器的属性