heartstill

博客园 首页 新随笔 联系 订阅 管理

sql server 2005中增加了动态性能视图,可以查看sys.dm_exec_query_stats获得正在执行的SQL的一些信息。下面的SQL语句查询当前运行时间最长的10个事务的信息:

SELECT DISTINCT TOP 10
           t.TEXT QueryName,
           s.execution_count AS ExecutionCount,
           s.max_elapsed_time AS MaxElapsedTime,
           ISNULL(s.total_elapsed_time / 1000 / NULLIF(s.execution_count, 0), 0) AS AvgElapsedTime,
           s.creation_time AS LogCreatedOn,
           ISNULL(s.execution_count / 1000 / NULLIF(DATEDIFF(s, s.creation_time, GETDATE()), 0), 0) AS FrequencyPerSec
FROM sys.dm_exec_query_stats s
      CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY s.max_elapsed_time DESC, ExecutionCount DESC
go

posted on 2011-05-04 10:34  开始测试  阅读(488)  评论(0编辑  收藏  举报