合并复制会自动为源表和目标表创建rowguid

时间:2018-02-07 01:06:29

标签: sql-server

当我尝试使用合并复制在Windows Server 2016上创建发布和订阅时,我发现在我的两个源/目标表上都有一个名为newguid的新列。

此字段的值在源/目标表上都相同。

我真的不确定这是否会对我当前的数据库或我必须查询的方式造成任何问题?

从备份/还原的角度来看,使用合并复制是最佳做法吗?

1 个答案:

答案 0 :(得分:0)

这是设计的。

根据Merge Replication

  

要跟踪更改,请合并复制(以及事务复制   排队更新订阅)必须能够唯一标识   每个已发布表中的每一行。完成此合并   复制将列rowguid添加到每个表,除非表   已经有一个数据类型uniqueidentifier列与ROWGUIDCOL   属性集(在这种情况下使用此列)。

回答你的问题:

  

我真的不确定这是否会对我当前的数据库造成任何问题   或者我必须查询的方式?

这取决于您的查询的外观以及您的应用程序如何使用结果。如果应用程序不期望额外的rowguid列,则 SELECT * 形式的查询可能会出现问题。你需要测试一下。

  

从备份/还原的角度来看,使用合并复制是最好的   练?

我在备份或恢复具有rowguid列的Merge复制数据库时从未遇到任何问题。