반응형

sys.dm_exec_requests 동적 관리 뷰를 이용하여 서버에서 실행되고 있는 모든 세션들의 정보를 확인할 있습니다. 사용자에게 서버에 대한 VIEW SERVER STATE 권한이 있으면 SQL Server 인스턴스에서 실행 중인 모든 세션을 있고, 그렇지 않으면 현재 세션만 있습니다.

 

현재 실행중인 프로세스의 세션 정보, 쿼리문, CPU 시간 정보 확인하기

SELECT r.session_id

             ,status

             ,wait_type

             ,substring(qt.text,r.statement_start_offset/2,

                           (case when r.statement_end_offset = -1

                           then len(convert(nvarchar(max), qt.text)) * 2

                           else r.statement_end_offset end -                                                          r.statement_start_offset)/2)

             as query_text   --- 현재 실행 중인 일괄 처리 또는 프로시저

             ,qt.dbid   ,qt.objectid

             ,r.cpu_time

             ,r.total_elapsed_time

             ,r.reads

             ,r.writes

             ,r.logical_reads

             ,r.scheduler_id

FROM sys.dm_exec_requests r

CROSS APPLY sys.dm_exec_sql_text(sql_handle) as qt

WHERE r.session_id > 50

ORDER BY r.scheduler_id, r.status, r.session_id;

GO

 

반응형

+ Recent posts