关于AdventureWorks DB的问题……许多表中Rowguid的意义是什么?
-
28-09-2019 - |
题
所以我想我已经知道这个问题的答案...
在MSSQL Server 2008上运行AdventureWorks2008(最新版本)。我认为许多表中的RowGuid列是为了确保有一个主键。我可能是错误的,因为该列似乎是一个约束。
如果我错了,请纠正我,也请用我可以从中学到的答案纠正我。在SQL Management Studio中只是对此进行了调查...是否有任何疑问会备份我的错?我不是DBA,所以我迷路了:)
解决方案
通常,RowGuid列用于复制,如果您开始使用复制,则将创建RowGuid列。从线上的书
合并复制要求每个发布的表都有一个RowGuid列。如果在快照代理创建初始快照文件之前,表中不存在RowGuid列,则代理必须首先添加并填充RowGuid列。要在合并复制过程中生成和应用快照时获得性能优势,请在合并复制期间发布的每个表上创建RowGuid列。创建列时,指定:
列标题为rowguid。
数据类型为唯一身份证。
默认值为newid()。
RowGuidCol属性。
列上的索引。 ROWGUID列经常用于在跟踪和同步发布者和订户的更改过程中合并跟踪数据。
不隶属于 StackOverflow