SELECT TOP 20 object_schema_name(qt.object_id, qt.database_id) + N'.' + object_name(qt.object_id, qt.database_id) AS 'SPName', qt.query_text , qs.total_worker_time AS 'TotalWorkerTime',qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',qs.execution_count AS 'ExecutionCount',ISNULL(qs.execution_count/DATEDIFF(Second, qs.creation_time, GetDate()), 0) AS 'CallsPerSecond',ISNULL(qs.total_elapsed_time/qs.execution_count, 0) AS 'AvgElapsedTime',qs.max_logical_reads, qs.max_logical_writes,DATEDIFF(Minute, qs.creation_time, GetDate()) AS 'AgeInCache'FROM sys.dm_exec_query_stats AS qscross apply msdb.MS_PerfDashboard.fn_QueryTextFromHandle(sql_handle, statement_start_offset, statement_end_offset) as qtWHERE qt.database_id = db_id()ORDER BY qs.total_worker_time DESC
select fn.*,st.* from sys.dm_exec_query_stats stcross apply sys.dm_exec_sql_text(st.[sql_handle]) fnwhere st.max_elapsed_time >= (1000 * 15) --15 seconds