【问题标题】:Custom UniqueId for merge replication on sql server 2008?用于 sql server 2008 上的合并复制的自定义 UniqueId?
【发布时间】:2013-12-27 00:47:44
【问题描述】:

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

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

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

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

【问题讨论】:

  • 欢迎来到 Stack Overflow!请注意,标签是独立的。在您的问题中添加[sql][server] 与添加[sql-server] 的含义不同!请务必阅读键入标签名称时出现的有用标签说明,并谨慎选择标签。
  • 合并复制会添加此 GUID 列,但您不必将其设为主键。此 GUID 列仅用于复制目的,仅用于其他目的。
  • 谢谢...太棒了..它需要时间戳列还是自动的?

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


【解决方案1】:

根据Considerations for Merge Replication,每个发布的表都需要一个带有 ROWGUIDCOL 属性集和唯一索引的 GUID 列。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 2012-03-31
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 2011-10-01
    相关资源
    最近更新 更多