【杂记--关于访问SQL SERVER2005 的系统对象】

SQL SERVER维护着一组表,存储所有对象,数据类型,约束,配置选项及SQL能访问的资源,这些表称为系统目录(系统基本表).


我们在SQL SERVER2005里有很多种方法来访问元数据.一般是使用目录视图和系统函数,信息架构视图只能包含它们全部的一部分.

 

最佳接口:目录视图
 目录视图都位于SYS架构下,包括了动态管理对象(DMV和DMF)和兼容性视图。
 
 兼容性视图是为了提供用户能继续访问SQL2000的系统表的一个子集(未来版本也许会被移除)
 它特点1:它的名称跟SQL2000里原来的系统表是一样的(比如sysobjects sysindex),当然查询他们得到的结果不完全一样;
   特点2:他不包含关于2005新特性的一些列(比如分区 partitioning)
   特点3:只能在MASTER数据库下运行(只针对试用版)
  
  其实所谓目录视图我理解为2000的系统表的详细分解 并且增加了很多新功能显示的列内容.
  比如目录视图:sys.objects ==>sys.tables ==>sys.columns 在sys.tables 里面显示了sys.objects的所有列并且还有关于Table本身的列,但是sys.tables行数就没有就少于sys.objects的行数,它只包含关于Table的行
  一句话概括就是说:基础视图包含了列的子集和行的超子集,而生成视图包含了列的超子集和行的子集.(上面的列子中 sys.objects 是基础视图 sys.tables 是生成视图)
 
信息架构视图:
 大多数通过目录视图得到的信息都可以通过信息架构视图得到。但还是有少量特定功能信息没有在其中.
 选择的使用时机:我们的代码要求有比较好的移植性;想得到的都是一些标准功能(不包括比如索引 文件组 CLR 等元数据)
 
系统函数:
 主要是一些属性函数:SEVERPROPERTY()、COLUMNPROPERTY()、DATABASEPROPERTY()、INDEXPROPERTY()等。具体查看MSDN

 

系统存储过程:
 一般以sp_开头 使用传入参数或者不使用 可以返回系统信息 但是缺点是无法控制返回信息的量.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值