SQL Server添加MDW性能监控报表
10.2 Data Collector与MDW
Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控等信息的记录收集起来,并将数据保存在MDW(Management Data Warehouse,管理数据仓库)中,MDW为用户们提供了非常方便的性能分配报表。
10.2.1 MDW的配置
开启SQL SERVER的MDW功能,要求数据库需要开启SQL Server 代表(Agent)服务。配置MDW需要在SQL Server管理界面(SSMS)的对象服务器配置下的管理子项中右键配置,如下图10-6中所示,

图10-6 开启MDW向导
MDW的配置分为两个步骤,首先需要创建一个MDW,如图中所示Create or upgrade a management data warehouse选项配置,根据向导,配置完成以后。然后,还需要开启data collection的功能。如图中第二个选项Set up data collection,根据向导将data collection开启以后,我们会发现,在Agent服务中多出来几个调度任务,如下图10-7中所示:

图10-7 MDW的Agent作业
这些任务主要负责监控信息的采集以及数据的上传。在经过一段时间的数据采集后,可以在MDW的数据库中,查看到具体的报表信息了。
10.2.2 查看性能报表

图10-8 打开MDW报表
在MDW数据库中,点击右键,做如上图中的选择可以打开Data Collection的报表信息,可以从报表中,获取数据库实例在监控开启期间的相关资源开销,各种调度等待的信息以及服务器的活跃状态(包括批处理数据,请求数等)。同时MDW报表支持钻取的功能,可以很方便地跟踪定位到服务器故障点的详细信息。
如图10-9中所示,通过Server Activity概略图最上方一块硬件概况,可以很直观地查看到服务器的CPU,内存,IO以及网络的运行情况,同时,依据操作系统的资源使用情况以及SQL SERVER实例进程的使用情况,用不同颜色的曲线表示。如图10-9中所示,浅绿色为系统资源曲线,浅蓝色为SQL Server进程的资源曲线。其中如CPU资源图中所示,其以百分比的方式展示,浅蓝色和浅绿色曲线已经基本重合,说明服务器的CPU资源几乎都是SQL Server进程消耗掉的。如果两条曲线的中间间隔比较明显,那说明服务器上还有其他进程在使用服务器的CPU资源,需要对比一下,是否SQL Server受到其他资源的影响。其他类型的资源,包括内存的使用情况,磁盘的IO使用情况等,都是类似的,只是它们的表示单位有所不同。
需要注意的一点就是,内存和磁盘的使用情况取的都是均值,也就是说,不同的时间间隔长度上,相同的时间段内,其数值显示可能会不一样。例如,选择从早上11点为开始时间,时间间隔为4个小时的内存变化以及11点为开始时间,时间间隔为12小时内的内存变化。在两个时间间隔上,早上11点到下午3点这4个小时内的曲线有可能是不一样的。会有一定的差异,因为它们取的是平均值来构造曲线。
网络应用曲线比较特殊,它只有系统的网络使用情况,没有为SQL Server进程单独获取一个独立的曲线,因为Windows系统是无法 识别网络应用程序的进程的。
概略图中间部分,SQL Server Waits展示了实例在时间段内各种不同类型的Waite所占有比例的柱状图,可以迅速地定位到各个不同时间点数据库的资源等待情况。点击柱状图,或SQL Server Waits的字样,可以进入类型等待的详细情况列表,如10-9(b)图中的示例,上面的柱状图与概略图中的一样,在柱状图正文列出了一份列表,点击列表中的超链接部分,可以进入更细致的详细情况介绍图,如10-9(c)图中所示为Buffer IO的详细情况分析图。需要注意的是,不同的等待类型,其详细情况分析图会不一样,在这里就不一一介绍了,读者们可以自己部署一个MDW,然后仔细观察一下每个图表中不同的情况。
最下方SQL Server Activity部分显示了实例在时间点内的请求数,连接数等信息,可以清晰地看出数据库的繁忙情况。可以非常方便地判断出服务器的并发情况。点击拆线图或者SQL Server Activity字样,同样可以钻取到一些更细致的信息。

(a)

(b)

(c)
图10-9 MDW报表报表示例
以上报表数据来源于MDW的数据库,即如图10-6中所示的向导中创建的报表数据存储库里。在一些情况下,可能报表视图无法展现出我们需要的一些数据。此时,可能需要直接查看MDW中对应表中的数据。以下列出几个常用的数据表的情况。
snapshots.active_sessions_and_requests
该视图存储了动态管理视图sys.dm_exec_requests以及sys.dm_exec_sessions的一些字段信息,通过该表,可以获得某些时刻,例如使用字段collection_time过滤出来的某一时刻的在在执行的请求的信息。
snapshots.notable_query_plan
该视图存储了动态管理函数sys.dm_exec_query_plans中的执行计划缓存信息,通过该视图,可以将指定的sql_handle的执行计划打印出来。
snapshots.notable_query_text
该视图存储了动态管理函数sys.dm_exec_sql_text中关于执行计划以及执行语句的偏移量(statement_start_offset以及statement_end_offset)的信息,通过视图,可以获得某一时刻请求正在执行的存储过程对象及语句。
SELECT *
FROM snapshots.active_sessions_and_requests AS asar WITH(NOLOCK)
JOIN snapshots.notable_query_text AS nqt WITH(NOLOCK) ON asar.sql_handle = nqt.sql_handle
JOIN snapshots.notable_query_plan AS nqp WITH(NOLOCK) ON asar.plan_handle=nqp.plan_handle
WHERE asar.collection_time BETWEEN '2013-09-22 10:00:00 +08:00' AND '2013-09-22 22:00:00 +08:00';
代码清单10-1 通过MDW查询某一时间段内的请求情况
如代码清单10-1中所示,在获取22日10点到22点的请求执行情况时,需要注意,collection_time是带有时区的,所以需要加上后面的+08:00表示获取是北京时间。
SQL Server添加MDW性能监控报表的更多相关文章
- SQL Server添加MDW性能监控报表(转载)
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- windows系统与SQL SERVER 2008数据库服务性能监控分析简要
软件系统性能测试体系流程介绍之windows系统与SQL SERVER 2008数据库服务性能监控分析简要 目前大部分测试人员对操作系统资源.中间件.数据库等性能监控分析都是各自分析各自的监控指标方式 ...
- Performance Monitor4:监控SQL Server的IO性能
SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...
- 【转】sql server数据收集和监控
转自:https://www.cnblogs.com/zhijianliutang/p/4476403.html 相关系列: https://www.cnblogs.com/zhijianliutan ...
- SQL Server ---(CDC)监控表数据(转译)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现过程(Realization) 补充说明(Addon) 参考文献(References) ...
- SQL SERVER - 谈死锁的监控分析解决思路
1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁12 ...
- [翻译]通过使用正确的search arguments来提高SQL Server数据库的性能
原文地址:http://www.sqlpassion.at/archive/2014/04/08/improving-query-performance-by-using-correct-search ...
- SQL Server 列存储性能调优(翻译)
原文地址:http://social.technet.microsoft.com/wiki/contents/articles/4995.sql-server-columnstore-performa ...
- Sql Server 添加外部程序集基本操作
简介:有时候Sql Server的内置函数没有那么好用的时候,可以引用一下外部程序集,下面献下丑,做下添加外部程序集操作 1.准备程序,编译出一个MyCLR的DLL. public class CLR ...
随机推荐
- 突然顿悟的Javascript中的this
一直对Javascript中的this都有一种似是而非的感觉,今天突然感觉豁然开朗,特此记录一下. 咱们先看个栗子: <!DOCTYPE html> <html> <he ...
- 对list集合中的对象按照对象的某一属性进行排序
/** * 重新对list中的CmsCyUser对象按照最终的票数进行排序 * @param list */ private void reSort(List list) { Object[ ...
- UiAutomator源代码分析之UiAutomatorBridge框架
上一篇文章<UIAutomator源代码分析之启动和执行>我们描写叙述了uitautomator从命令行执行到载入測试用例执行測试的整个流程.过程中我们也描写叙述了UiAutomatorB ...
- R语言之中文分词:实例
一.说明 网上提供的一个例子,做了修改与订正. 二.程序 #调入分词的库 library("rJava") library("Rwordseg") #调入绘制词 ...
- [AX2012 R3]在SSRS报表中使用QR二维码
AX2012是自带生成QR二维码的类,可以很方便的用在SSRS报表中,下面演示如何在RDP的报表中使用二维码,首先从定义临时表开始: 字段URL是要用于二维码的字符串,QrCode是container ...
- PLSQL登录弹出空白框如何解决
转自:http://jingyan.baidu.com/article/066074d6760959c3c21cb0d6.html 出现登录弹出空白框这是由于win7的安全性提高了,在PLSQL ...
- POJ 1804 Brainman
Brainman Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7787 Accepted: 4247 Descript ...
- Fiddler捕捉ASP.NET WebSite调用WebService、WCF服务
Fiddler默认会注册一个代理,有时会发现WebSite调用的WebService或者WCF服务无法被捕捉到.其实是由于运行的站点关联的应用程序池使用的账号和我们当前登陆操作系统的用户不同,自然它们 ...
- java框架篇---spring aop两种配置方式
第一种:注解配置AOP 注解配置AOP(使用 AspectJ 类库实现的),大致分为三步: 1. 使用注解@Aspect来定义一个切面,在切面中定义切入点(@Pointcut),通知类型(@Befor ...
- Netty5 + HTTPS 练习
本次以<Netty权威指南>第十章里面的例子为基础修改而来 HttpsFileServerHandler.java package com.jieli.nettytest.httpsfil ...