【问题标题】:Looking for SQL Server Performance Monitor Tools [closed]寻找 SQL Server 性能监视器工具 [关闭]
【发布时间】:2010-03-22 13:13:54
【问题描述】:

我可能从错误的角度来处理这个问题,但我在想的是某种 SQl 服务器的性能监控工具,它的工作方式与代码性能工具类似,例如我希望看到每个存储过程被调用的次数、平均执行时间以及可能的各种资源使用统计信息(例如缓存/索引利用率、结果磁盘访问和表扫描等)的输出。

据我所知,SQL Server 附带的性能监视器只记录各种调用,但没有报告我正在寻找的各种统计信息。可能我只需要一个工具来分析日志输出?

【问题讨论】:

    标签: sql-server sql-server-2005 performance


    【解决方案1】:

    SQL Server Profiler 确实为您提供了您想要的,虽然可能不是以非常直观的方式。

    要监控存储过程,您可以跟踪SP:Completed 事件并观察 CPU 使用率、I/O 读取/写入和持续时间以获得您想要的。对于缓存监控,需要监控SP:CacheHitSP:CacheInsertSP:CacheMissSP:CacheRemove事件。

    如果您需要其他工具,我强烈推荐 Quest's Performance Analysis for SQL Server,它在一个易于使用的软件包中为您提供您想要的以及更多功能。

    【讨论】:

      【解决方案2】:

      事实证明,SQL Server Profiler 确实会根据存储的过程名称报告存储过程调用的持续时间,它只是知道要听哪些事件的关键。 SP_Counts 模板似乎是最好的起点,因为它报告存储的过程名称。如果您切换到使用“完成”而不是“开始”事件,那么您可以选择报告每次通话的持续时间。从那里您可以将记录的跟踪保存到 XML 文件并编写 XPath/XQuery 来总结每个存储过程中花费的总时间和平均时间。我最终编写了一个小 C# 应用程序来汇总数据并将其输出到 CSV 文件,这样我就可以在 excel 电子表格中查看它并按各个列进行排序 - 例如平均而言最慢的存储过程,总时间最多的存储过程,以及调用次数最多的 SP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-23
        • 2012-02-15
        • 1970-01-01
        • 2014-03-14
        • 2013-07-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多