您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

SQL Server系统表sysobjects介绍与使用

2025/1/18 4:19:45发布27次查看
关于sql server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是如果你有500个表格的话,
关于sql server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,虚拟主机,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,美国空间,但是如果你有500个表格的话,这可能会消耗相当大的人工。
这就让sysobjects表格有了用武之地。虽然我不建议你更新这个表格,网站空间,但是你当然有权对其进行审查。
sysobjects 表
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
如果你看到这段文字,说明您正使用rss阅读或转自《一棵树-博客园》,原文地址:
sysobjects 表结构:
列名数据类型描述
namesysname对象名,常用列
idint对象标识号
xtypechar(2)对象类型。常用列。xtype可以是下列对象类型中的一种: 
c = check 约束d = 默认值或 default 约束f = foreign key 约束l = 日志fn = 标量函数 
if = 内嵌表函数 p = 存储过程 pk = primary key 约束(类型是 k) rf = 复制筛选存储过程
 s = 系统表 tf = 表函数 tr = 触发器 u = 用户表 uq = unique 约束(类型是 k) 
v = 视图 x = 扩展存储过程
uidsmallint所有者用户对象编号
infosmallint保留。仅限内部使用
statusint保留。仅限内部使用
base_schema_ verint保留。仅限内部使用
 replinfo int保留。供复制使用
 parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 id)。
 crdate datetime 对象的创建日期。
 ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0
 schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
 stats_schema_ ver int 保留。仅限内部使用。
typechar(2)  对象类型。可以是下列值之一:
 c = check 约束   d = 默认值或 default 约束 f = foreign key 约束
 fn = 标量函数 if = 内嵌表函数  k = primary key 或 unique 约束
 l = 日志 p = 存储过程 r = 规则  rf = 复制筛选存储过程
s = 系统表  tf = 表函数 tr = 触发器 u = 用户表 v = 视图 x = 扩展存储过程
 userstatsmallint  保留。
 sysstatsmallint  内部状态信息
 indexdel smallint 保留
 refdate datetime 留用
 versionint  保留
deltrig int  保留
 instrigint  保留
 updtrigint  保留
 seltrigint  保留
 category int 用于发布、约束和标识
 cachesmallint  保留
你可以用下面的命令列出感兴趣的所有对象:
sysobjects sysobjects
判断数据库中是否已经存在某个表,有的话就删除该表
(dbo.sysobjects ) ) = 1).(sysobjects ) ) = 1).(sysobjects name)) .
以后继续补充。
某些朋友的一些疑问:
1、问:object_id(n'表名')中n'代表什么意思?
答:n'' 代表 unicode类型.可以支持不同语种的对象名
2、 问:select   *   from   dbo.sysobjects   where   id   =   object_id(n'[dbo].[usertab]')   and   objectproperty(id,   n'isusertable')   =   1   
这句中的object_id(n'[dbo].[usertab]')和objectproperty(id,   n'isusertable')   =   1   
是什么意思?
答:object_id(n'[dbo].[usertab]'):是得出系统给表usertab分配的唯一id   
objectproperty(id,   n'isusertable')   =   1   
该对象的属性是表类型的 objectproperty(id,property)函数的使用,
3、 问:use master select * from ...sysobjects ” ...sysobjects ” -- 三个句点的前缀是什么意思?
答:对数据库对象名的 transact-sql 引用可以是由四部分组成的名称,格式如下:[ server_name.[[database_name].[owner_name]. | database_name.[owner_name]. | owner_name.] ] object_name
未完待续(xx尚未成功,后面要靠大家了)……
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product