sys.objects (Transact-SQL)

在数据库中创建的每个用户定义的架构范围内的对象在该表中均对应一行。

ms190324.note(zh-cn,SQL.90).gif注意:
sys.objects 不显示 DDL 触发器,因为它们不是架构范围内的对象。所有触发器(包括 DML 和 DDL)都位于 sys.triggers 中。sys.triggers 支持用于各种触发器的混合作用域命名规则。

可以将 OBJECT_IDOBJECT_NAMEOBJECTPROPERTY() 内置函数应用于在 sys.objects 中显示的对象。

此视图有一个具有相同作用域的版本,名为 sys.system_objects 的版本,该版本显示系统对象。还有另一个名为 sys.all_objects 的视图,该视图同时显示系统和用户对象。所有三个目录视图的结构都相同。

ms190324.note(zh-cn,SQL.90).gif注意:
所有系统对象都包含在 sysINFORMATION_SCHEMA 架构中。
列名 数据类型 说明

name

sysname

对象名。

object_id

int

对象标识号。在数据库中是唯一的。

principal_id

int

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

如果没有可代替的单个所有者,则为 NULL。

如果对象类型为下列类型之一,则为 NULL:

C = CHECK 约束

D = DEFAULT(约束或独立)

F = FOREIGN KEY 约束

PK = PRIMARY KEY 约束

R = 规则(旧式,独立)

TA = 程序集(CLR 集成)触发器

TR = SQL 触发器

UQ = UNIQUE 约束

schema_id

int

包含该对象的架构的 ID。

对于 SQL Server 2005 附带的所有架构范围内的系统对象,该值将始终为

IN (schema_id('sys'), schema_id('INFORMATION_SCHEMA'))

parent_object_id

int

该对象所属对象的 ID。

0 = 不是子对象。

type

char(2)

对象类型:

AF = 聚合函数 (CLR)

C = CHECK 约束

D = DEFAULT(约束或独立)

F = FOREIGN KEY 约束

PK = PRIMARY KEY 约束

P = SQL 存储过程

PC = 程序集 (CLR) 存储过程

FN = SQL 标量函数

FS = 程序集 (CLR) 标量函数

FT = 程序集 (CLR) 表值函数

R = 规则(旧式,独立)

RF = 复制筛选过程

S = 系统基表

SN = 同义词

SQ = 服务队列

TA = 程序集 (CLR) DML 触发器

TR = SQL DML 触发器

IF = SQL 内联表值函数

TF = SQL 表值函数

U = 表(用户定义类型)

UQ = UNIQUE 约束

V = 视图

X = 扩展存储过程

IT = 内部表

type_desc

nvarchar(60)

对象类型的说明。

AGGREGATE_FUNCTION

CHECK_CONSTRAINTS

DEFAULT_CONSTRAINT

FOREIGN_KEY_CONSTRAINT

PRIMARY_KEY_CONSTRAINT

SQL_STORED_PROCEDURE

CLR_STORED_PROCEDURE

SQL_SCALAR_FUNCTION

CLR_SCALAR_FUNCTION

CLR_TABLE_VALUED_FUNCTION

RULE

REPLICATION_FILTER_PROCEDURE

SYSTEM_TABLE

SYNONYM

SERVICE_QUEUE

CLR_TRIGGER

SQL_TRIGGER

SQL_INLINE_TABLE_VALUED_FUNCTION

SQL_TABLE_VALUED_FUNCTION

USER_TABLE

UNIQUE_CONSTRAINT

VIEW

EXTENDED_STORED_PROCEDURE

INTERNAL_TABLE

create_date

datetime

对象的创建日期。

modify_date

datetime

上次使用 ALTER 语句修改对象的日期。如果对象为表或视图,则创建或修改表或视图的聚集索引时,modify_date 也会随之更改。

is_ms_shipped

bit

由内部 SQL Server 组件创建对象。

is_published

bit

对象为发布对象。

is_schema_published

bit

仅发布对象的架构。

请参阅

参考

对象目录视图 (Transact-SQL)
目录视图 (Transact-SQL)
sys.all_objects (Transact-SQL)
sys.system_objects (Transact-SQL)
sys.triggers (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
TYPEPROPERTY (Transact-SQL)

其他资源

用户架构分离
实现用户定义类型
查询 SQL Server 系统目录常见问题

帮助和信息

获取 SQL Server 2005 帮助