zoukankan      html  css  js  c++  java
  • 【原创】利用typeperf工具收集SQL Server性能数据

    一.利用TypePerf.exe命令行工具把Windows操作系统的性能计数器数据记录到数据库中

     

    可以在作业中建立以下脚本

    1.启用xp_cmdshell

    --默认情况下,sql server2005安装完后,xp_cmdshell是禁用的(可能是安全考虑),如果要使用它,可按以下步骤

     

    -- 允许配置高级选项

    EXEC sp_configure 'show advanced options', 1

    GO

    -- 重新配置

    RECONFIGURE

    GO

    -- 启用xp_cmdshell

    EXEC sp_configure 'xp_cmdshell', 1

    GO

    --重新配置

    RECONFIGURE

    GO

     

    2.定时开启,开始记录性能计数器日志

    --实现的功能:将“MyCounters.txt”文件中列出的计数器,按照每秒钟的时间间隔,记录到SQL数据库中,"SQL:SystemLog!TestSystemLog"ODBC数据源建立的系统DSN

    EXEC xp_cmdshell 'typeperf -cf c:\MyCounters.txt -si 5 -f SQL -o SQL:SystemLog!TestSystemLog'

     

    --"MyCounters.txt"可以利用下面的命令在CMD命令窗口中执行后生成

    TYPEPERF -qx "Processor" >>c:\MyCounters.txt

     

    3.定时关闭

    --结束typeperf.exe的进程

    EXEC xp_cmdshell 'tskill typeperf'

     

    4.关闭xp_cmdshell

    --用完后,要记得将xp_cmdshell禁用(出于安全考虑)

    -- 允许配置高级选项

    EXEC sp_configure 'show advanced options', 1

    GO

    -- 重新配置

    RECONFIGURE

    GO

    -- 禁用xp_cmdshell

    EXEC sp_configure 'xp_cmdshell', 0

    GO

    --重新配置

    RECONFIGURE

    GO

     

    5.利用数据库中记录的日志分析性能数据

     

    二.带来的好处:

    1.  可以根据计划定时抓取服务器性能数据包括CPU、内存和磁盘利用率以及SQL Server特定数据。为数据库服务器的性能分析提供帮助。

     

    2.  可以根据数据库中记录的日志结合Reporting Service绘制性能分析的报表。

     

     

    3.  可以定制作业实现自动化

     

     

    三.带来的影响:

    1.  会增加服务器的负载,在测试时观察了一下这个命令的开销,基本上启动后8M左右的内存运行,开销比较小

     

    另外:如果考虑实施的话,可以新建一个数据库(专门用于监控服务器性能等的表),便于维护和管理

  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/wangdong/p/1323734.html
Copyright © 2011-2022 走看看