当前位置:  开发笔记 > 数据库 > 正文

识别SQL Server性能问题

如何解决《识别SQLServer性能问题》经验,为你挑选了1个好方法。

我们的SQL Server 2005群集上有零星的,随机的查询超时.我拥有一些使用它的应用程序,所以我正在帮助调查.在常规ol'Perfmon中观察%CPU时间时,你当然可以看到它盯住了.但是,SQL活动监视器仅提供进程使用的累积CPU和IO时间,而不是当时使用的或在特定时间范围内使用的累积CPU和IO时间.也许我可以使用分析器并运行跟踪,但是这个集群使用非常频繁,我担心我会在大海捞针中寻找针.我吠叫错了树吗?

有没有人有一些很好的方法来跟踪这个环境中昂贵的查询/进程?



1> SQLMenace..:

这将按平均CPU时间为您提供前50个语句,请在此处查看其他脚本:http://www.microsoft.com/technet/scriptcenter/scripts/sql/sql2005/default.mspx? mfr = true

SELECT TOP 50
        qs.total_worker_time/qs.execution_count as [Avg CPU Time],
        SUBSTRING(qt.text,qs.statement_start_offset/2, 
            (case when qs.statement_end_offset = -1 
            then len(convert(nvarchar(max), qt.text)) * 2 
            else qs.statement_end_offset end -qs.statement_start_offset)/2) 
        as query_text,
        qt.dbid, dbname=db_name(qt.dbid),
        qt.objectid 
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY 
        [Avg CPU Time] DESC

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有