关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server 2005:向系统表说再见

    SQL Server 2005:向系统表说再见

    2015-11-26 00:00:00 出处:ITJS
    分享

    微软的SQL Server 数据库管理员 ,快快想一下!在不使用任何的文档的情况下,编写一个查询,从SQL Server 2000系统表中抽取索引的列表,然后列举每个索引中的字段,并判断这个字段是否按照升序或者降序进行排序。你有两分钟的时间。快!假如你现在真的停下阅读,开始用必不可少的两分钟时间思考这项不讨好的任务,那么现在你就陷入了一个大麻烦中,这里面涉及了系统索引、系统索引关键字,系统字段,以及一些元数据函数,其中包括类似OBJECT_NAME 和INDEXKEY_PROPERTY这样的备用信息。到现在为止,要编写这样的一个查询很明显要花费远远超过2分钟的时间了。

    不幸的SQL Server 2000数据库管理员们,需要浏览深奥的系统表,这是这项使用数据库管理系统的工作中最糟糕的一部分。系统表,通常是有效率的,但是在我的印象里,它可从来不是为了用户友好设计的。

    幸运的是,眼前就有了救星。在SQL Server 2005中,系统表不见了。是的。不见了。再也不需要对陌生的位进行操作,也不需要找出神秘的编码方案——这在过去都是必需的。对于你们中间需要对遗留下来的参考这些表的人来说,我知道你在想什么:无休止的机械的升级以保障与SQL Server 2005的兼容。但是还不要心生厌恶。系统中仍然存在类似系统表的对象,就是为了向下兼容的目的。但是表的自身是——或者是实际上应该是——被遗忘,像8-tracks 和 Tab一样被投入了历史的垃圾桶中。

    那么这些表去了哪里呢 SQL Server 2005中的系统数据现在存储在隐藏的“资源”表中,这个表只能被服务器自身直接访问。低级用户(和数据库管理员)必须使用新的一系列的分类视图,这些视图显示了从各种我们看不到也不能调用的隐藏表和各种隐藏函数中获得的数据。以前版本的SQL Server 中的系统表现在作为一系列所谓的(也相当正确的)“兼容视图”的形式实现。

    分类视图和它们的伙伴,动态管理视图(下面进行解释),代表了一种处理元数据的方式,这些元数据是完全重新设计和重新思考出来的。没有了那些只会给数据库管理员一些底层数据的微小感觉的神秘的表,现在的SQL Server提供了丰富的资源:SQL Server 2005中有超过200个分类和管理视图,取代了以前版本中大约50个的系统表。

    所有这些视图都可以在系统计划中找到。(计划是在SQL Server 2005中大大扩展了的安全特性。但是这是另一篇贴士的话题。)要看到可用视图的完全列表,SQL Server Management Studio扩展了所有数据库的系统视图树。或者通过T-SQL 从视图自身选择一个列表,并找出友好的易于理解的名字:

    SELECT name

    FROM sys.all_views

    WHERE is_ms_shipped = 1

    你还会发现再也不需要通过浏览文档来查找有关做某件关系系统数据的事情的线索。这些视图都有很明确的自我解释。

    有关视图名字的一些线索如下:那些前缀是dm_的是动态管理视图,通过类似当前会话、锁,以及系统资源的信息表示服务器的正在改变的状态。其他的视图都可以认为是分类视图。那些前缀是all_的包含了有关系统对象(例如视图)和用户定义的对象的信息。那些没有all_前缀的只包含了用户定义的对象的信息。在那些包括了系统对象的视图中,is_ms_shipping字段可用于区分用户定义对象和系统对象。假如is_ms_shipped字段的值为1,则这一行代表了一个系统对象,否则,就是用户定义的对象。

    最后,让我们检查一些你可以从分类视图中获得数据类型。对于初学者,所有常见的内容都可以获得。例如:查看索引中的数据,使用sys.indexes,而不是原先的sysindexes——奇怪的是,现在称之为sys.sysindexes。对于约束,试试sys.check_constraints, sys.default_constraints, 或者 sys.key_constraints。看出这个趋势了吗

    这篇贴士哪怕是没有简单的提到一句有关新的动态管理视图的话,都是不完整的。这些视图是SQL Server存储新的元数据的强有力的工具,它们可以帮助数据库管理员快速解决问题并分析服务器的性能。其中的一些明星选手,包括sys.dm_exec_query_stats,用来报告查询要求了多少个处理器时间;以及sys.dm_db_index_usage_stats,用来帮助数据库管理员决定哪一个索引是最有用的,哪些是没有用的。

    对于这个巨大的元数据视图集合,还有更多的话需要说。但是现在,可以看看最近由微软发布在网上的beta版的SQL Server 2005在线书籍。系统视图主题提供了对这个强大的新的数据仓库的能力的整体描述。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Edge浏览器百度被劫持/篡改怎么办,地址后边跟着尾巴#tn=68018901_7_oem_dg

    Google Chrome 在 iPhone 上新增了 Safari 数据导入选项

    Windows 11专业版 KMS工具激活产品密钥的方法

    DEDECMS安全策略官方出品

    Microsoft Text Input Application 可以关闭吗?

    新版本QQ如何关闭自带的浏览器?

    C++编程语言中continue的用法和功能,附举例示范代码

    c++ map 的数据结构、基本操作以及其在实际应用中的使用。

    C语言如何避免内存泄漏、缓冲区溢出、空指针解引用等常见的安全问题

    C语言中的break语句详解

    IT头条

    马斯克2026最新采访总结:2040年,全球机器人数量将突破100亿台

    23:52

    专家解读|规范人工智能前沿业态健康发展的新探索:解读《人工智能拟人化互动服务管理暂行办法》

    00:54

    用至强 6高存力搞定MoE卸载!

    17:53

    美国将允许英伟达向中国“经批准的客户”出售H200 GPU

    02:08

    苹果与微信就15%手续费达成一致?腾讯未置可否

    22:00

    技术热点

    PHP 和 Node.js 的10项对比挑战

    Javascript闭包深入解析及实现方法

    windows 7、windows 8.1手动增加右键菜单功能技巧

    MYSQL出错代码大汇总

    windows 7假死机怎么办 windows 7系统假死机的原因以及解决方法

    Ubuntu(Linux)下配置IP地址的方法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。