sys.types (Transact-SQL)

每个系统类型和用户定义类型都在表中对应一行。

列名

数据类型

说明

name

sysname

类型的名称。在架构内是唯一的。

system_type_id

tinyint

类型的内部系统类型的 ID。

user_type_id

int

类型的 ID。在该数据库中是唯一的。对于系统数据类型,user_type_id = system_type_id

schema_id

int

类型所属架构的 ID。

principal_id

int

如果个体所有者与架构所有者不同,则表示该所有者的 ID。默认情况下,架构包含的对象由架构所有者拥有。不过,通过使用 ALTER AUTHORIZATION 语句更改所有权可以指定备用所有者。

如果没有另外的个体所有者,则值为 NULL。

max_length

smallint

类型的最大长度(字节)。

-1 = 列数据类型为 varchar(max)、nvarchar(max)、varbinary(max) 或 xml。

对于 text 列,max_length 值将为 16。

precision

tinyint

如果类型基于数值,则表示类型的最大精度;否则,该值为 0。

scale

tinyint

如果类型基于数值,则表示类型的最大小数位数;否则,该值为 0。

collation_name

sysname

如果类型基于字符,则表示类型排序规则的名称;否则,该值为 NULL。

is_nullable

bit

类型可以为 Null。

is_user_defined

bit

1 = 用户定义类型。

0 = 0 = SQL Server 系统数据类型。

is_assembly_type

bit

1 = 类型的实现是在 CLR 程序集中定义的。

0 = 类型基于 SQL Server 系统数据类型。

default_object_id

int

使用 sp_bindefault 绑定到类型的独立默认值的 ID。

0 = 不存在默认值。

rule_object_id

int

使用 sp_bindrule 绑定到类型的独立规则的 ID。

0 = 不存在规则。

is_table_type

bit

指示该类型为表。

权限

在 SQL Server 2005 及更高版本中,目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。有关详细信息,请参阅元数据可见性配置