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左右的内存运行,开销比较小

     

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

  • 相关阅读:
    ref out param 区别
    SQL语句执行顺序以及oracle基本查询优化
    Ext.LoadMask遮罩的效果几种实现方式
    用ajax技术实现无闪烁定时刷新页面
    ExtJs 实现动态列,动态多表头 在这里添加日志标题
    Ajax中文乱码问题解决方法(服务器端用servlet)
    订购国际机票的常用指令
    ETERM航班销售控制指令
    线程wait()和sleep()的区别
    JSt中对象的prototype属性
  • 原文地址:https://www.cnblogs.com/wangdong/p/1323734.html
Copyright © 2011-2022 走看看