SELECT Top Qs.creation_time
, Last_execution_time
, Total_physical_reads
, Total_logical_reads
, Total_logical_writes,db_name (dbid) dbname
, Execution_count
--, Total_worker_time
, Last_worker_time
--, substring (CONVERT (char), DATEADD (ms,total_worker_time/1000,0), 121), 12,23) total_worker_time
--, Total_elapsed_time
, Last_elapsed_time
, SUBSTRING (CONVERT (char), DATEADD (ms,total_elapsed_time/1000,0), 121), 12,23) total_elapsed_time
--, Total_elapsed_time/execution_count Avg_elapsed_time
, SUBSTRING (CONVERT (char), DATEADD (MS, (Total_elapsed_time/execution_count)/1000,0), 121), 12,23) avg_elapsed_ Time
, SUBSTRING (St.text, (QS.STATEMENT_START_OFFSET/2) + 1,
(Case Statement_end_offset
WHEN-1 then datalength (st.text)
ELSE Qs.statement_end_offset End
-Qs.statement_start_offset)/2) + 1) as Statement_text
From Sys.dm_exec_query_stats as Qs
Cross APPLY Sys.dm_exec_sql_text (qs.sql_handle) St
--order by execution_count desc Schedule Total number of executions
--order by Total_elapsed_time--Total Plan execution duration
ORDER by Last_worker_time desc;--last execution CPU elapsed time
SQL monitoring statements