DBA olarak anlık sorguları görmek isteriz . Aşağıda ki sorgu da sorgunun ne kadar sürdüğünü, locklanıyorsa hangi session_id ile locklandığını ,sorgunun bekleme tipini ve hangi makineden geldiği gibi bilgileri bu sorgu yardımı ile görebiliriz.
select r.total_elapsed_time / 1000.0 as total_elapsed_s,percent_complete,r.blocking_session_id, r.last_wait_type, s.login_name,'MySessionID= ' + cast(r.session_id as varchar) as MySessionID,DB_NAME(r.database_id) as DatabaseName,command ,SUBSTRING(t.text, (r.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(t.text) ELSE r.statement_end_offset END - r.statement_start_offset)/2) + 1) AS statement_text ,r.status,wait_time ,wait_type,wait_resource,text,start_time,s.program_name ,r.last_wait_type,s.host_name,r.granted_query_memory * 8 / 1024 as memory_mb from sys.dm_exec_requests r inner join sys.dm_exec_sessions s on r.session_id = s.session_id cross apply sys.dm_exec_sql_text(r.sql_handle) t where r.session_id <> @@SPID --and r.database_id =DB_ID('Hangi DB'ye gelen sorguları listelemek istiyorsanız') --and t.text like '%text bazlı sorgulama yapmak için text içeriği%' --and r.session_id = sessionid --and s.Login_Name like '%Login bazlı filtreleme%' --and s.program_name LIKE '%Program bazlı filtreleme örneğin Management%' --and r.wait_type !='bekleme tipine göre filtreleme' --and r.blocking_session_id<>0" order by start_time asc