IT技术网www.itjs.cn

当前位置:首页 > 数据库 > SQl Server > 理解SQL Server系统表格sysobjects

理解SQL Server系统表格sysobjects

发布时间:2015-11-23 00:00 来源:未知

关于SQL Server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是假如你有500个表格的话,这可能会消耗相当大的人工。

这就让sysobjects表格有了用武之地。虽然我不建议你更新这个表格,但是你当然有权对其进行审查。

在大多数情况下,对你最有用的两个列是sysobjects.name和sysobjects.xtype。前面一个用来列出待考察对象的名字,而后一个用来定义对象的类型,其代码如下:

C检查约束。 D默认的约束 F外键约束 L日志 P存储过程 PK主键约束 RF复制过滤存储过程 S系统表格 TR触发器 U用于表格。 UQ独特的约束。 V视图 X被扩展的存储过程

在碰到触发器的情形下,用来识别触发器类型的其他三个列是:deltrig、instrig和uptrig。

你可以用下面的命令列出感兴趣的所有对象:

SELECT * FROM sysobjects WHERE xtype = <type of interest>

在特殊情况下,也就是在父表格拥有触发器的情况下,你可能想要用下面这样的代码查找数据库:

SELECT