sys.dm_exec_requests 동적 관리 뷰를 이용하여 서버에서 실행되고 있는 모든 세션들의 정보를 확인할 수 있습니다.
사용자에게 서버에 대한 VIEW SERVER STATE 권한이 있으면 SQL Server 인스턴스에서 실행 중인 모든 세션을 볼 수 있고, 그렇지 않으면 현재 세션만 볼 수 있습니다.
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
'개발' 카테고리의 다른 글
[DB] MSSQL SSMS 단축키 모음 (0) | 2013.02.15 |
---|---|
[DB] MSSQL 2005 저장프로시져 모니터하기 (0) | 2013.02.14 |
[DB] MS-SQL Job Agent 관련 쿼리 (0) | 2013.02.07 |
[DB] MSSQL DBLINK / 프로시져 호출 / 'RPC에 대해 구성되지 않았습니다' (1) | 2012.12.11 |
[DB] MS-SQL Database 전체 테이블 리스트 및 건수 (0) | 2012.12.11 |