Merge SQL server复制优于复制

Merge SQL server复制优于复制,merge,replication,transactional,Merge,Replication,Transactional,我有以下情况: -服务器1有一个data_server1数据库和一个名为TANS_PUB(9表文章)的事务性发布(通过internet) -服务器2是TANS_PUB的订户,具有本地数据库“data_server2” 注意:data_server1和data_server2具有相同的结构(架构) 而且跨复制工作得非常好 现在,在server2中,我创建了一个名为MERG_PUB的合并出版物(通过internet和作为文章的所有表),并将server1作为它的订阅服务器。此合并发布从数据服务器2到

我有以下情况:

-服务器1有一个data_server1数据库和一个名为TANS_PUB(9表文章)的事务性发布(通过internet)

-服务器2是TANS_PUB的订户,具有本地数据库“data_server2”

注意:data_server1和data_server2具有相同的结构(架构) 而且跨复制工作得非常好

现在,在server2中,我创建了一个名为MERG_PUB的合并出版物(通过internet和作为文章的所有表),并将server1作为它的订阅服务器。此合并发布从数据服务器2到服务器1中的数据服务器1\u 2。这种复制也非常有效

问题是: 如果9个表中的一个表(在server1中)(例如TAB1)手动或通过程序更新,则server2中的TAB1会更新(通过基于TANS_PUB的复制),但data_server1_2中的TAB1(server1)不会更新:-(在这种情况下,MERG_PUB不工作),请注意,我是通过server2手动更新TAB1还是通过data_server1_2中的程序更新TAB1(server1)更新得很好

你能帮忙吗


1000谢谢

听起来您使用的是Repubisher模型,它同时具有事务复制和合并复制功能,而源自上游的更新不会一直向下进行。在此模型中,默认情况下,分发代理在执行插入/更新/删除时不会触发合并触发器,因此会导致更改不会记录在合并跟踪表中,因此它们永远不会复制到合并订阅服务器

为缓解此问题,请将参与事务性发布的所有合并项目的合并项目属性@published\u in_tran\u pub设置为true

USE MergePublicationDB

EXEC sp_changemergearticle 
  @publication = 'MergePublicationName',
  @article = 'MergeArticleName', 
  @property = N'published_in_tran_pub', 
  @value = N'true'
GO