IsRowGUID和UniqueIdentifier之间的差异



在Visual Studio中为SQL server数据库创建新的主键字段时。我注意到它们的字段类型可以是uniqueidentifier。这也可以更改为nvarchar和int或bit。我还注意到,尽管在字段的属性中,我可以为isRowGUID指定"TRUE"。

当Visual Studio在导入数据库(此特定实例的.SDF文件。AKA SQL compact)后自动创建XSD定义时,它会自动将类型uniqueidentifier映射到CLR类型GUID。如果将isRowGUID设置为true,会带来什么好处?

我们感谢在这个问题上提供的任何信息或指导,因为之前为收集有关这个主题的信息所做的所有努力都收效甚微。

基本上,rowguidcol/isrowguidcol告诉SQL Server该列是唯一的行标识符,就像标识对int列所做的那样(强制执行唯一性)。它还强制列使用默认值,就像标识设置int列的种子值和增量值一样。就像一个表只能有一个标识列一样,每个表也只能有一行guidcol。

Rowguidcol使您能够使用系统存储过程引用、访问和/或标识此列。此外,SQL Server复制可以/将使用标记为rowguidcol/isrowguidcol的uniqueidentifier列(如果可用)。如果没有,复制会将uniqueidentifier/rowguidcol添加到现有表中。如果您计划使用SQL Server复制,则建议您自己将列作为设计的一部分添加,以便最终可以为列命名一些有用的名称。

查看Microsoft的此链接以了解更多信息。。。http://msdn.microsoft.com/en-us/library/ms191131(v=sql.105).aspx

相关内容

  • 没有找到相关文章

最新更新