mssql sqlserver 执行时间长的sql脚本获取方法


摘要:
最近经常有同事反馈,某某模块执行非常慢,我们通过检查APP服务器和网络,
发现都没有出现异常现象,通过排除法,最后将异常界定为DB数据库异常.
下文将讲述,实时通过获取sqlserver中运行时间耗时最长的sql脚本


例:
我们可以获取DB服务器中缓存的sql脚本平均执行时间,然后根据平均执行时间长的sql脚本,作为最长的sql脚本运行时间,然后对此脚本进行相关优化,来达到优化sql server服务器的目的,
如下所示:

 SELECT top 10
total_elapsed_time as N'总运行时间',
execution_count as N'总运行个数' ,
(total_elapsed_time / execution_count)/1000 
as 
N'单个作业运行时间毫秒',
t2.text as N'sqltext'
FROM
sys.dm_exec_query_stats AS t1 CROSS APPLY sys.dm_exec_sql_text(t1.sql_handle) t2
order by (total_elapsed_time / execution_count)/1000  desc 
 

sql脚本执行时间长