程序员人生 网站导航

SQL Server 常用的几个系统表说明

栏目:Sqlserver时间:2013-11-21 23:54:14
1、sysobjects
系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等

sysobjects 重要字段解释:

sysObjects (
Name sysname, --object 名称
id int, --object id
xtype char(2), -- object 类型
type char(2), -- Object 类型(与xtype 似乎一模一样? 有点郁闷…)
uid smallint, -- object 所有者的ID
... --其他的字段不常用到。
)

注:需要解释的是 xtype 和type 是一模一样的,他的数据为:

C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程

该表中包含该数据库中的所有对象,如有那些表 存储过程 视图 等信息

2、sysColumns 数据库字段表。 当前数据库的所有字段都保留在里面。

重要字段解释:

sysColumns (
name sysname, --字段名称
id int, --该字段所属的表的ID
xtype tinyInt, --该字段类型,关联sysTypes表
length smallint, --该字段物理存储长度
...
)

比如要查询某一个张表的有那些字段和这些字段的长度
3、sysUsers

当前数据库的系统组,以及用户。

sysUsers(
uid smallint, --用户id
name smallint , --名称
uid varbinary(85) , --属于一个登陆
....
)

对数据库的用户进行管理

4、sysdenpends
当前数据库的依赖关系。 比如 我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下.那些视图 函数 存储过程调用了这个表的
这样在修改后就可以修改的视图 函数 存储过程,

一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐