SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之一)

SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之一)

--王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com
--
原帖地址

SQLServer2005之前,当使用事件探查器或系统监视器的时候我常处于两种境地,这使我很为难。首先,我在事件探查器里看到运行时间很长的事件并想知道它是怎样影响服务器性能的。其次,在系统监视器的服务器活动里看到长钉形状的图又想知道是什么查询或其他活动引起的。不管怎样,我都不能找到我的答案,因为没有方法去关联事件探查器的事件和系统监视器的计数活动。但在SQLServer2005中,有办法啦。

在这篇文章里,我们看看怎样去收集系统监视器和事件探查器的数据,然后关联它们以便你能正确的了解SQLServer的活动是怎样直接的影响服务器性能的,反之亦是。对于本文,假定你已经了解怎样使用系统监视器和事件探查器的基础。

用系统监视器收集数据

如果你想关联系统监视器的计数数据和SQLServer2005事件探查器跟踪事件,你必须同时捕捉两类型的数据。你可以要么先启动系统监视器要么先启动事件探查器,对于下面的例子,我将先启动系统监视器,然后启动事件探查器。

为了开始用系统监视器收集计数器性能数据,启动系统监视器,然后扩展“性能日志和警报”。如下图。这里就是你创建一个新的系统监视器日志文件的地方,该日志文件用来关联我们也将收集的事件探查器跟踪的数据。



下一步,右击“计数日志”然后选择“新建日志设置”,弹出下面的对话框。



在上面输入你想分配给你将收集的日志文件的名称。然后单击“确定”,弹出下面的对话框。



现在你可以添加任何一个你想收集的对象或计数器,并且指定你想用来收集的数据的抽样数据的时间间隔长度。当你选择“添加对象”或“添加计数器”按钮来指定你在日志文件里想捕捉的数据时,它将占用SQLServer更多的资源,所以不要冲昏头脑去试图收集每一个对象和计数器。同样适用于去选择一个样本数据收集的时间间隔。当收集数据越频繁,关联系统监视器计数器和事件探查器事件就更容易,这样做也增加SQLServer的资源开销。你也许要用不同的时间间隔去实验以找出最合适的方案。

在这个例子里,我已经选择去收集三个对象的计数器数据,且每5分钟收集一次。一旦你做完上面的两项,你可以选择去改为任何其他选项,单击“确定”。出现下面的窗口:

你创建完了计数器日志。现在,为了手动启动计数器,右击计数器日志名称然后选择“启动”。这时,计数器日志将开始收集你选择的计数器数据。

SQLServer2005的事件探查器里收集数据

现在系统监视器正在收集数据,也该创建一个事件探查器跟踪来开始收集活动并记录它们。

为了这样做,启动事件探查器。出现如下的对话框



在上面的对话框里,你首先要分配一个“跟踪名称”。接下来你要选择“保存文件”选项以便你收集的跟踪得以保存。现在单击“运行”,出现下面的对话框:



在这个对话框里,你选择你要捕捉的事件和数据列。在这里,我限制我收集的数据为TSQL事件:SQL:BatchCompletedSQL:BatchStarting。当指定事件时,重要的是要同时指定事件的开始和结束时间以便你能看到在系统监视器和事件探查器数据之间的正确关联。

一旦你对事件、数据列和任何想使用的过滤条件设置好后,选择“运行”,出现下面的窗口,这是你的事件探查器数据收集标准屏幕。事件探查器事件现在正被捕捉并存储到跟踪日志里。



下一篇:SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之二)
最后编辑拓狼 最后编辑于 2007-05-25 13:35:54
虽有智慧,不如乘势;虽有鎡基,不如待时。
君子学以聚之,问以辨之,宽以居之,仁以行之。
独学而无友,则孤陋而寡闻。