导读:数据采集器是微软SQL Server 2008中增加的一个新特性,它的功能是从多台服务器上收集性能相关数据,并存储在中心数据仓库,然后通过SQL Server Management Studio(SSMS)中的报表把数据展现出来。本质上,数据收集器实现了对关键性能数据(比如,性能计数器,从动态管理视图DMW中抓取的数据快照和磁盘空间明细)的自动化采集。这是SQL Server 2008性能的一次飞跃,实现了智能化的数据采集。
既然该特性从***的动态管理视图中收集信息,所以它只能工作在SQL Server 2008中。尽管如此,值得注意的是,与许多其它有用的DBA功能不同,数据采集器并不仅限于企业版才支持。
SQL Server 2008数据采集器的功能由以下几个组件组成:
1.Msdb系统数据库用来存储所谓的数据采集组,其中包含有数据采集定义以及调度与采集数据有关的计划任务。除了包含有采集审计和历史信息查询,msdb数据库还存储SQL Server集成服务(SSIS)包,可以用来采集和上传数据。
2.Dcexec.exe工具执行上面提到的SSIS包。它还负责管理数据采集组。
3.管理数据仓库数据库存储采集的数据,而且包含用于采集管理的视图和存储过程。我们强烈建议这个数据库要与进行数据采集的服务器分离存储。
4.SQL Server Management Studio 2008报表用来浏览收集到的数据。目前有三种内建的报表:服务器活动历史,磁盘用量汇总和查询统计历史。
SQL Server Management Studio提供了配置数据采集的向导。要启动该向导,请在想要采集数据的服务器上展开管理节点。
接下来,在数据采集节点上右键单击,然后选择“配置管理数据仓库”。你将会看到下面的对话框。如图1所示。
如果你是***次运行该向导,请选择“创建或者升级管理数据仓库”选项。该向导将按步骤引导你创建中心数据库,用来存储采集的数据。
图1
在这个过程中,你需要对该仓库数据库中的数据库角色映射一次登录。我建议你创建一个新的登录并映射它。如图2所示。
一旦你创建并配置了数据仓库数据库,请再次运行该向导并选择第二个选项:设置数据采集。你应该在你想采集数据的服务器上进行这个操作。
在***个界面上,请选择你在***步中创建的服务器和数据库,并选择一个目录来存储缓存数据。请对你想采集数据的每台服务器重复此操作。
在该向导创建数据采集完成,并调度了SQL代理任务之后,你会看到“数据采集器节点下面多了三个节点。
图2 映射登录和用户给MDW角色。
1、磁盘使用情况。
2、查询统计。
3、服务器活动情况。
#p#
你可以双击每个节点打开属性窗口,我强烈推荐花时间检查一下所有选项,这样就能对它们能做什么以及如何配置有一个全面的认识。
你可以修改诸如保留时间,缓存模式和计划任务之类的配置。因为数据采集器会生成大量数据,而且它的存储表会在几个小时内填充进数亿行数据,所以你可能想要修改任务调度来降低数据采集的频率,这取决于你每台服务器的使用情况。
在运行该向导之后,数据采集将启动。要累积一些有意义的数据需要一点时间,所以请过一个小时左右再查看报表。
SQL Server Management Studio 2008现在有三类新报表可以查看数据采集器收集的数据,它们是:服务器活动历史,磁盘利用情况汇总和查询统计历史。
你可以通过在数据采集节点上右键单击,然后选择管理数据仓库报表来查看这些报表。SQL Server Management Studio 2008会识别哪个数据库用来存储这些数据,所以当你在数据库上右击时,你会有机会选择管理数据仓库概览报表,如下图3所示。
图3 管理数据仓库概览报表。
该报表展示给你采集运行在哪台服务器上。你可以点击每个链接来钻取查看每台服务器的更多明细信息。图4是一个服务器活动历史报表的上部分,展示了在服务器活动四个小时以后的情况。
如你所见,数据采集器报表的顶部展示了一个导航条,你可以滚动它来查看之前捕获的快照,选择你关心时间段的数据进行查看。当你点击下面的统计图时,你可以进入子报表查看更多明细信息。
请在这些报表中任意一个钻取进去,选择不同的时间段来熟悉报表提供的内容。例如,你可以从查询统计历史报表中钻取到单个查询的明细信息,包括图形化的执行计划。
图4
数据采集器在采集数据的过程中会对服务器产生2%到5%的性能代价,主要是占用一点CPU资源。存储这些数据的存储需求仅仅是每天300MB,因此你需要为你的每台服务器每周准备大约2GB的数据库存储空间。
至于数据保留多久,取决于你的需求和存储能力。但是,大部分情况下,你可以采用默认设置,查询统计和服务器活动历史数据采集保留14天,而磁盘用量汇总采集信息保留两年。
如果你想保留性能数据更长时间,同时不保存快速累积的数亿行数据,你可以写你自己的查询,然后每天或者每周汇总重要数据进行保存。SQL Server联机丛书包含有许多很好的文档,其中记录了数据采集使用的表。这些文档可以使你针对采集到的数据定制查询更容易一些。
这就是我要为大家介绍的SQL Server 2008自动化数据采集方法的全部内容,从中大家肯定感受到了SQL Server 2008自动化数据采集的重要意义,这项技术的提高,也是象征着我们人类的进步,希望大家通过本次的学习,能对SQL Server 数据库更感兴趣,努力开发出更好的产品。
【编辑推荐】