2007年12月22日

相信很多人都很奇怪SQLServer2005的系统表到哪去了,在使用SQL2000的日子里,不幸的SQL Server 2000数据库管理员们,需要浏览深奥的系统表,这是这项使用数据库管理系统的工作中最糟糕的一部分。

SQL Server 2005中的系统数据现在存储在隐藏的“资源”表中,这个表只能被服务器自身直接访问。低级用户(和数据库管理员)必须使用新的一系列的分类视图,这些视图显示了从各种我们看不到也不能调用的隐藏表和各种隐藏函数中获得的数据。以前版本的SQL Server 中的系统表现在作为一系列所谓的(也相当正确的)“兼容视图”的形式实现。
  
  分类视图和它们的伙伴,动态管理视图(下面进行解释),代表了一种处理元数据的方式,这些元数据是完全重新设计和重新思考出来的。没有了那些只会给数据库管理员一些底层数据的微小感觉的神秘的表,现在的SQL Server提供了丰富的资源:SQL Server 2005中有超过200个分类和管理视图,取代了以前版本中大约50个的系统表。
  
  所有这些视图都可以在系统计划中找到。(计划是在SQL Server 2005中大大扩展了的安全特性。但是这是另一篇贴士的话题。)要看到可用视图的完全列表,SQL Server Management Studio扩展了所有数据库的系统视图树。或者通过T-SQL 从视图自身选择一个列表,并找出友好的易于理解的名字:

sys.all_views有所有的视图

sys.tables包含有所有表的信息

sys.columns包含数据库中所有的列的属性

等等,是不是比SQL2000系统表要更能让人接受?

所以现在我们可以用一条这样的语句来查询某个表T_TT的所有字段的信息

 

select * from sys.columns,sys.tables where sys.tables.object_id=sys.columns.object_id and sys.tables.name='T_TT'
posted @ 2007-12-22 16:02 Lim Lee 阅读(405) | 评论 (0)编辑 收藏
仅列出标题  

导航

<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

常用链接

留言簿(1)

随笔档案

文章档案

相册

搜索

最新评论