温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQLServer2005动态管理的对象是什么

发布时间:2021-09-01 17:25:26 来源:亿速云 阅读:196 作者:chen 栏目:数据库

这篇文章主要讲解了“SQLServer2005动态管理的对象是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQLServer2005动态管理的对象是什么”吧!

  服务器上需要监控的内容,几乎都有对应的动态管理对象。既然有这么多动态管理对象,在该文中逐一进行讨论是不实际的。例如,共有12类动态管理对象,但这里我主要讨论我认为相当重要的五个对象,它们分别来自与SQLServer操作系统、目录和执行有关的类中。

  这些对象被分为两类:数据库级别和服务器级别。SQLServer2005的安全构架有些不同,所以你必须采取一些措施保证你能够使用本文讨论的视图和函数。你必须保证使用这些例子的用户能够查看对象的SERVERSTATE和DATABASESTATE。可以应用GRANT语句来完成这一点。

  在我开始介绍动态管理对象之前,你应该建立一个可用在所有例子里面的表格。列表A是建立这个表格的代码。

  SQLServer操作系统相关动态管理对象

  sys.dm_os_performance_counters:这个视图返回的信息列举与SQLServer直接相关的性能统计。返回的信息代表通过Windows性能监控器显示的外部性能计数器。在SQLServer2000中,这些数据以一个叫做sysperfinfo的系统表格来表示,SQLServer2005中也有这个表格,但仅用于向后兼容。将来的版本可能会删除这个表格。

  要了解如何应用这个视图,而不是运行Windows性能监控器来获取系统信息,请运行列表B中的查询代码。这个查询将返回服务器当前时刻的缓存命中率(BufferCacheHitRatio)。缓存命中率指在内存中所发现的SQLServer请求页面的百分比。假如服务器运转正常,这个值一般在90%以上。假如这个值低于90%,则意味着服务器将会去硬盘那里恢复数据页面,这可能是服务器需要更多内存的信号。

  SQLServer2005的动态管理对象是什么

  假如你为了同样的目的,准备运行上面的查询,并将得到的结果与运行Windows性能监控器显示的结果进行比较(SQLServer:缓冲器管理器缓存命中率),你会发现这些数据几乎是一样的。稍稍研究一下,就可以根据这个表格开发出你自己的脚本库,而不必总是运行Windows性能监控器。

  Caveat:这个视图仅限于SQLServer相关的计数器使用。假如你希望获得SQLServer之外的数据,你还是要使用Windows性能监控器。

  目录相关动态管理视图和函数

  sys.dm_db_index_physical_stats:这个动态管理函数为数据表格和视图返回相关数据及目录信息。查看列表C。这个函数接受5个参数:数据库的ID、所讨论的表格或视图的ID、表格或视图上的一个特定目录的ID(被我忽略)、分区号(也被我忽略)和一个模式,我将它指定为“DETAILED”。将这些参数提交给这个函数会允许你查看DMVTest表格中的所有目录细节。

  在过去不久的文章里定义的表格中运行列表C中的查询,你会发现表格中既没有页面也没有记录。在DMVTest中增加一条记录,再运行查询,就会发现表格中增加了一个页面。

  INSERTINTODMVTest(C2,C3)

  VALUES(1,1)

  这个函数返回的另一个特别有趣的域为avg_page_space_used_in_percent域,它说明数据页面有多大。从查询中发现数据页面约为0.25%。你可以应用这个数据来开发程序,查看数据库表格,并根据程序中设定的标准,重新为它们编写目录。

感谢各位的阅读,以上就是“SQLServer2005动态管理的对象是什么”的内容了,经过本文的学习后,相信大家对SQLServer2005动态管理的对象是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI