说明:仅支持sql server2008及以上版本
declare @startTime datetime,@endTime datetime;
set @startTime='2020-10-14 00:00:00';
set @endTime='2020-10-15 00:00:00';
SELECT TOP 1000 QS.creation_time,SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1) AS statement_text,ST.text,QS.total_worker_time,QS.last_worker_time,QS.max_worker_time,QS.min_worker_time
FROM sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST WHERE QS.creation_time BETWEEN @startTime AND @endTime
--AND ST.text LIKE '%%'
ORDER BY QS.creation_time DESC
SELECT TOP 1000 QS.creation_time,ST.text FROM
sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST WHERE QS.creation_time BETWEEN @startTime AND @endTime
AND ST.text NOT LIKE 'select%'