Полезен для отслеживания запроса, который создал большую нагрузку на сервер
Работает в версии 2005 и выше
set transaction isolation level read uncommitted
select
DB_NAME(dbid) databasename,
qs.session_id,
OBJECT_SCHEMA_NAME(st.objectid)+\'.\'+OBJECT_NAME(st.objectid) as ObjFullName,
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,
qs.logical_reads
from
master.sys.dm_exec_requests qs
outer apply master.sys.dm_exec_sql_text(sql_handle) st
where
qs.session_id ! = @@SPID and
len(
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
) > 0
order by qs.session_id