所以我想我已经知道这个问题的答案了……
在mssql server 2008上运行AdventureWorks2008(最新版本)。我在想很多表中的rowguid列是为了确保有一个主键。我可能完全错了,因为该列似乎是一个约束。
如果我错了,请纠正我,也请用我可以学习的答案纠正我。到目前为止,我只是在 SQL Management Studio 中对此进行调查……是否有任何查询可以支持我的错误程度?我不是 DBA,所以我迷路了 :)
所以我想我已经知道这个问题的答案了……
在mssql server 2008上运行AdventureWorks2008(最新版本)。我在想很多表中的rowguid列是为了确保有一个主键。我可能完全错了,因为该列似乎是一个约束。
如果我错了,请纠正我,也请用我可以学习的答案纠正我。到目前为止,我只是在 SQL Management Studio 中对此进行调查……是否有任何查询可以支持我的错误程度?我不是 DBA,所以我迷路了 :)
通常,rowguid 列用于复制,如果您开始使用复制,则将创建 rowguid 列。来自在线书籍
合并复制要求每个已发布的表都有一个 ROWGUID 列。如果在快照代理创建初始快照文件之前表中不存在 ROWGUID 列,则代理必须首先添加并填充 ROWGUID 列。要在合并复制期间生成和应用快照时获得性能优势,请在合并复制期间发布的每个表上创建 ROWGUID 列。创建列时,指定:
列标题为 ROWGUID。
数据类型为 UNIQUEIDENTIFIER。
默认为 NEWID()。
ROWGUIDCOL 属性。
列上的索引。ROWGUID 列经常用于在跟踪和同步发布服务器和订阅服务器所做的更改期间与合并跟踪数据相关。