SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(2)

SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(2)

数据采集

 Capture

  数据采集需要捕获生产系统上环境及SQL Server执行情况的数据,用于我们进行数据分析。

  1、修改SD_Detailed.xml配置文件。(如果你没有执行过SQLDiag.exe工具,那么你必须执行它,用来解压出XML配置文件。)

    Copy “C:\program Files\Microsoft SQL Server\90\Tools\Binn\SD_Detailed.xml” ”c:\program Files\Microsoft SQL Server\90\Tools\Binn\PPConfig.xml”

       将sd_detailed.xml复制一份,并将其命名为PPConfig.xml。

    用记事本工具打开PPConfig.xml文件,禁用跟踪事件采集。

    定位到:<ProfilerCollector enabled="true",将它修改为:<ProfilerCollector enabled="false"

    大家是否考虑这样一个问题:我们为什么不直接用SQLDiag进行数据跟踪?

      SQLDiagsd_dtailed.xml文件不能捕获RML Utilities所需要的所有事件,尽管它能采集到部分的跟踪事件。

  2、如果我们想使用Replay的话,我们需要一个PrecisionPerformance的克隆数据库,你可以通过SQL Server Management Studio内置功能来实现克隆操作。

    根据下面文章中的步骤获取到克隆数据库的脚本。这个脚本也适合SQL Server 2008

      How to generate a script of the necessary database metadata to create a statistics-only database in SQLServer 2005: http://support.microsoft.com/kb/914288/en-us

  3、如果我们想使用Replay的话,我们还得需要备份当前的数据库,备份操作可以通过示例下的SecureState.sql脚本来获取,如果在你真实的项目上进行操作,请主要安全性,以免数据外泄。(备份操作因该在关闭跟踪捕获后进行,并尽可能消除两者之间(源库与备份库)的差异,否则将影响到replay

    ostress -E -S(local) -iSecureState.sql -oc:\temp\PPSecure

  4、启动我们的配置,利用SQLDiag.exe进行数据采集。(跟踪数据的采集将在接下来执行)PPConfig.xml文件将会收集计算机与SQL Server 配置信息,并添加到性能监视计数器上。

    sqldiag.exe /Oc:\temp\PPSecure /IPPConfig.xml

    注意请等待直道看见”collection started ”信息后继续运行。

    你可以查看c:\temp\PPSecure目录下新增的文件。他们包含SQL Server 错误信息,MSINFO32及其它配置信息。主要文件如下:

      <<MACHINE NAME>><<INSTANCE NAME>>sp_sqldiag_shutdown.out

          <<MACHINE>>MSINFO32.TXT

    MSINFO数据收集需要花费几分钟时间。

    注意:通过SQLDiag.exe收集的数据不需要使用RML Utilities的功能。不过捕获当前机器的状态的时刻点,所搜集到的数据非常重要,当我们进行测试时,它能确保replay与测试环境具有相同配置的依据。

  5、在当前运行的SQL Server上启动一个SQL Server跟踪来捕获事件。

    SQL Server Management Studio打开一个查询窗体,并加载TraceCaptureDef.sql脚本文件。

      注意:这个窗体请保留,直到你完成了Quick Start所有演练

    在这个脚本中,请修改字符串“InsertFileNameHere”为“c:\temp\PrecisionPerformance\sp_trace”。

      注意:请不要添加.trc后缀。系统将自动创建一个名为sp_trace.trc的跟踪文件。

    执行这个脚本,并保存TraceID,当跟踪数据完成后,用于停止跟踪。

      注意:我们所跟踪到数据sp_trace.trc,将被用于RML Utilities进行数据分析。

  6、我们需求模拟用户请求,并在当前的数据库上执行,下面的命令是打开两个数据库链接,每个链接执行文件中的查询语句1000次。

    ostress -E -S(local) -iWorkload.sql -oc:\temp\PPWorkload -q -n2 -r1000

  7、一旦模拟操作结束后,立即停止跟踪与SQLDiag采集

    (1)、使用CTRL + C 停止SQLDiag工具。

    (2)、当跟踪被启动时,通过sp_trace_setstatus命令执行T-SQL语句来停止跟踪。

 

  当前,我们已经采集了可供分析的数据,接下来,我将利用RML Utilities的工具进行数据分析,并以图形化的方式进行展现。

posted @ 2010-05-12 14:20  巨蟹星座  阅读(1680)  评论(0编辑  收藏  举报