SQL Server系统视图中的type和xtype有什么区别?

问题描述:

在许多系统视图中有几列有'x'前缀,有谁知道这是什么意思?SQL Server系统视图中的type和xtype有什么区别?

最有可能是只有向后兼容的目的。

  • 类型是较旧的列保持兼容以前的版本
  • 的xtype是更完整,更是应使用

的差异列表,请参阅sys.sysobjects (Transact-SQL)之一。

xtypeUNIQUE CONTRAINTPRIMARY KEY将分别UQPK,如果他们两个是Ktype

这是我意识到的唯一区别。

IIRC它的Sybase兼容性

SQL服务器开始作为SYBASE的一个分支,它刚刚在“类型”列

当微软扩展类型,他们增加了一个新列“的xtype”

你可以看到SOEM类型没有带

选择名称,的xtype,键入master..systypes '型'

所以一般我认为你应该使用'xtype'列,并且忽略'type'列