自定义UniqueId用于sql server 2008上的合并复制?

时间:2013-12-27 00:47:45

标签: sql-server database-replication merge-replication

进行合并复制时,列ROWGUIDCOL是强制性的吗?我可以使用我创建的自定义列在所有数据库中都是唯一的吗?

这是否意味着我必须使用GUID作为我的主键,或者我也可以使用gUID列和我的自定义ID列?

当我尝试创建合并复制时,它想要添加一个guid列,我不确定那是不是我想做什么。

任何建议创建合并复制的策略?我真的想避免在所有表上使用guid作为我的主键...这也会为我们的应用程序创建大量工作

1 个答案:

答案 0 :(得分:0)

Per Considerations for Merge Replication,每个已发布的表都需要一个GUID列,其中包含ROWGUIDCOL属性集和唯一索引。

  

合并复制使用全局唯一标识符(GUID)列   在合并复制过程中标识每一行。如果发表了   table没有带ROWGUIDCOL的uniqueidentifier列   属性和唯一索引,复制添加一个。确保任何   引用已发布表的SELECT和INSERT语句使用   列列表。如果不再发布表并添加复制   该列,该列被删除;如果列已经存在,那么   没有删除。