Лучше использовать Profiler для выполнения этой задачи.
Но если вы хотите запрос в SQL Server 2005+
можно использовать системные представления sys.dm_exec_query_stats, которые returns aggregate performance statistics for cached query plans
, но только для обналичены планов и sys.dm_exec_sql_text. К сожалению, у них нет информации о идентификаторе сеанса, поэтому вы можете получить только обналиченные запросы экземпляра сервера.
set transaction isolation level read uncommitted
select top 1000
creation_time,
last_execution_time,
case
when sql_handle IS NULL then ' '
else(substring(st.text,(qs.statement_start_offset+2)/2,(
case
when qs.statement_end_offset =-1 then len(convert(nvarchar(MAX),st.text))*2
else qs.statement_end_offset
end - qs.statement_start_offset)/2 ))
end as query_text,
db_name(st.dbid)as db_name,
object_schema_name(st.objectid, st.dbid)+'.'+object_name(st.objectid, st.dbid) as object_name
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(sql_handle) st
ORDER BY db_name, object_name
отлично :). Это то, что я искал. Спасибо большое –
@PriteshGupta Добро пожаловать. –