是否支持SQL Server合并复制事务



如果我有两个具有一对多关系的表,它们在同一发布中使用合并复制进行复制,并且在订阅服务器上我为事务中的每个添加了一行,那么SQL Server复制是否也会确保这些行不会应用于事务中的服务器?

虽然我不能肯定,但有令人信服的证据表明答案是

首先,关于使用合并复制状态的逻辑记录的文章

默认情况下,合并复制逐行处理数据更改原因在许多情况下,这是合适的,但对一些人来说应用程序,将相关行作为单元合并复制的逻辑记录功能允许您定义不同表中相关行之间的关系,以便行作为一个单元进行处理。

这似乎表明,将对多个表的更改分组在一起的方法是定义它们之间的(静态)逻辑记录映射。如果事务可以用作分组更改的特殊方法,那么这应该是不必要的。此外,行级冲突解决在概念上不适合对更改进行特别事务分组。

此外,MSmerge_contents表的定义不包括任何可以存储事务信息的地方。标识有列,哪个订阅者修改了行,列级别的更改跟踪和逻辑记录跟踪。还有一个听起来很有前途的generation列,但生成是合并之间的所有更改,所以这也是正确的。

总之,所有可用的证据都指向在合并时以事务方式应用而不是在事务中所做的更改。

最新更新