关于AdventureWorks DB的问题...很多表中的rowguid有什么意义?

时间:2010-08-14 10:33:12

标签: sql-server-2008 constraints adventureworks

所以我想我已经知道了这个问题的答案......

在mssql server 2008上运行AdventureWorks2008(最新版本)。我认为很多表中的rowguid列是为了确保有一个主键。我可能错了,因为该列似乎是一个约束。

如果我错了,请纠正我,并请用我可以学习的答案纠正我。我刚刚在SQL Management Studio中对此进行了调查...是否有任何疑问可以支持我的错误?我不是DBA所以我迷路了:))

1 个答案:

答案 0 :(得分:2)

通常,rowguid列用于复制,如果您开始使用复制,则将创建rowguid列。从图书在线

  

合并复制需要每个   发布的表有一个ROWGUID列。   如果不存在ROWGUID列   快照代理之前的表   创建初始快照文件,   代理必须首先添加和填充   ROWGUID列。获得一个   生成时的性能优势   并在合并期间应用快照   复制,创建ROWGUID列   在合并期间发布的每个表上   复制。创建列时,   指定:

     

列标题为ROWGUID。

     

数据类型为UNIQUEIDENTIFIER。

     

默认为NEWID()。

     

ROWGUIDCOL属性。

     

列上的索引。 ROWGUID   列经常用于关联   在跟踪期间合并跟踪数据   和同步的变化   发布者和订阅者。