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

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

如果我错了,请纠正我,也请用我可以从中学到的答案纠正我。在SQL Management Studio中只是对此进行了调查...是否有任何疑问会备份我的错?我不是DBA,所以我迷路了:)

有帮助吗?

解决方案

通常,RowGuid列用于复制,如果您开始使用复制,则将创建RowGuid列。从线上的书

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

列标题为rowguid。

数据类型为唯一身份证。

默认值为newid()。

RowGuidCol属性。

列上的索引。 ROWGUID列经常用于在跟踪和同步发布者和订户的更改过程中合并跟踪数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top