Sometimes, you need to know what SQL Server executes, and you can use the following method:
SELECT TOP 1000
-Create Time
qs.creation_time,
-query statement
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,
--Execute text
st.text,
-execution plan
qs.total_worker_time,
qs.last_worker_time,
qs.max_worker_time,
qs.min_worker_time
from
sys.dm_exec_query_stats QS
-- Keywords
cross apply
Sys.dm_exec_sql_text (Qs.sql_handle) st
where
Qs.creation_ Time between ' 2012-12-03 09:00:00 ' and ' 2012-12-03 11:00:00 '
--and st.text like '% '
ORDER by
Qs.creation_time DESC
SELECT TOP 1000
--Creation time
Qs.creation_time,
--Execute text
St.text
From
Sys.dm_exec_query_stats QS
--Key words
Cross APPLY
Sys.dm_exec_sql_text (Qs.sql_handle) ST
WHERE
Qs.creation_time between ' 2012-12-03 09:00:00 ' and ' 2012-12-03 11:00:00 '
and St.text not as '%select * from T_locationinfo WHERE strcliplogicid in (% '
ORDER by
Qs.creation_time DESC