[转帖]10.2 Data Collector与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 2008 Management Data Warehouse
补充:用过oracle的都知道,oracle有强大的AWR(自动工作负载库)的支持,我们可以从采样的快照数据中查询数据库的历史信息。因为一些监控和系统分析需要,sqlserver也需要能够查询历史数据,所以就想到了类似于AWR的MDW(管理数据仓库)。我们可以通过查看报表视图方式发现历史问题,也可以查询相关的表来获得信息。
[转帖]10.2 Data Collector与MDW的更多相关文章
- StreamSets Data Collector Edge 说明
Data Collector Edge 是不包含界面的agent 安装 下载包 https://streamsets.com/opensource tar xf streamsets-datacoll ...
- [CareerCup] 10.2 Data Structures for Large Social Network 大型社交网站的数据结构
10.2 How would you design the data structures for a very large social network like Facebook or Linke ...
- 10 Big Data Possibilities for 2017 Based on Oracle's Predictions
2017 will see a host of informed predictions, lower costs, and even business-centric gains, courtesy ...
- Oracle涂抹oracle学习笔记第10章Data Guard说,我就是备份
DG 是备份恢复工具,但是更加严格的意义它是灾难恢复 Data Guard是一个集合,由一个Primary数据库及一个或者多个Standby数据库组成,分两类逻辑Standby和物理Standby 1 ...
- [转帖]10分钟看懂Docker和K8S
10分钟看懂Docker和K8S https://zhuanlan.zhihu.com/p/53260098 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司. 这 ...
- 【你吐吧c#每日学习】11.10 C# Data Type conversion
implicit explicit float f=12123456.213F int a = Convert.ToInt32(f); //throw exception or int a = (in ...
- SQL Server添加MDW性能监控报表(转载)
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- SQL Server添加MDW性能监控报表
10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...
- SQL Server 2008性能故障排查(一)——概论
原文:SQL Server 2008性能故障排查(一)--概论 备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处.由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节 ...
- 删除Management Data Warehouse (MDW) job失败
转:http://lzf328.blog.51cto.com/1196996/1349670 最近在清理一些不用的Job,发现几个跟MDW有关的.虽然Job已经被Disable, 但是没有被删除.尝试 ...
随机推荐
- 搭建vulfocus靶场
搭建vulfocus靶场 第一种方法 docker pull一下执行如下命令即可 docker pull vulfocus/vulfocus:latest docker run -d -p 8081: ...
- Python——第二章:字符串操作——大小写转换
字符串常规操作 字符串的操作一般不会对原字符串产生影响. 一般是返回一个新的字符串 字符串大小写转换 .capitalize() 是字符串方法之一,在 Python 中用于将所有字符串的第一个母转换为 ...
- 安装Zabbix客户端zabbix-agent2
Ubuntu系统:下载链接:http://mirrors.aliyun.com/zabbix/zabbix/6.0/ubuntu/pool/main/z/zabbix/?spm=a2c6h.25603 ...
- 质效提升 | 聊聊QA与业务测试
上面一篇文章<质效提升 | QA不做业务需求测试,你怎么看>主要讨论的是QA 和业务需求测试相关的问题,文章发出后收到了很多小伙伴的反馈,这里把很多有意义的反馈放在下面,希望对你有用. 约 ...
- 拖拽功能实现vue
1.按钮 <el-button @mousedown="down" @touchstart="down" @mousemove="move&qu ...
- GaussDB拿下的安全认证CC EAL4+究竟有多难?
摘要:近日,经过全球知名独立认证机构SGS Brightsight实验室的安全评估,华为云GaussDB企业级分布式数据库内核获得全球权威信息技术安全性评估标准CC EAL4+级别认证 本文分享自华为 ...
- 应用架构步入“无服务器”时代 Serverless技术迎来新发展
摘要:以"原生蓄力,云领未来"为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了"华为云Serverless函数服务,让开发上云极简高效 ...
- 让数据大白于天下:GCC插件实现代码分析和安全审计
摘要: 如何利用GCC的插件功能,辅助安全分析人员实现对程序的安全审计.漏洞检测.安全加固等自动化处理能力,提升分析效率和精准度. 本文分享自华为云社区<利用GCC插件实现代码分析和安全审计&g ...
- 再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetX/Top,clentX
总是会被javascript的event对象的clientX,offsetX,screenX,pageX 弄得头晕,于是决定做个图来区分一下(画得我手那个酸呀....) event对象位置信息获取 先 ...
- PPT 呼吸感
任何元素都应该保持一定的距离,留出可以"呼吸"的空间 呼吸感 怎么营造 不要让内容超出/接近边框 类似的元素摆放在一起 控制 行间距/字间距 行间距:1.3.字间距:1.0 :行间 ...