Sys.dm_os_waiting_tasks를 활용한 실행중인 병렬쿼리 확인
-
Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016
Sys.dm_os_waiting_tasks를 활용하여 실행중인 병렬쿼리의 정보를 확인한다.
SELECT [owt].[session_id], [owt].[exec_context_id], [ot].[scheduler_id], [owt].[wait_duration_ms], [owt].[wait_type], [owt].[blocking_session_id], [owt].[resource_description], CASE [owt].[wait_type] WHEN N'CXPACKET' THEN RIGHT ([owt].[resource_description], CHARINDEX (N'=', REVERSE ([owt].[resource_description])) - 1) ELSE NULL END AS [Node ID], --[es].[program_name], [est].text, [er].[database_id], [eqp].[query_plan], [er].[cpu_time] FROM sys.dm_os_waiting_tasks [owt] INNER JOIN sys.dm_os_tasks [ot] ON [owt].[waiting_task_address] = [ot].[task_address] INNER JOIN sys.dm_exec_sessions [es] ON [owt].[session_id] = [es].[session_id] INNER JOIN sys.dm_exec_requests [er] ON [es].[session_id] = [er].[session_id] OUTER APPLY sys.dm_exec_sql_text ([er].[sql_handle]) [est] OUTER APPLY sys.dm_exec_query_plan ([er].[plan_handle]) [eqp] WHERE [es].[is_user_process] = 1 ORDER BY [owt].[session_id], [owt].[exec_context_id]; GO |
[참고자료]
http://www.sqlskills.com/blogs/paul/updated-sys-dm_os_waiting_tasks-script/
2015-07-15 / 강성욱 / http://sqlmvp.kr
MS SQL, SQLServer, 병렬쿼리, DMV, sys.dm_os_waiting_tasks, parallelism, CXPACKET
'SQL Server > SQL Server Tip' 카테고리의 다른 글
Error 17053 타사 네트워크 장치의 SMB 파일 공유 오류 (0) | 2015.07.28 |
---|---|
최신 SQL Server Native Client 설치하기 (0) | 2015.07.27 |
DBCC DROPCLEANBUFFERS가 작동하지 않을 때 (0) | 2015.07.23 |
손상된 부트페이지 복구하기 (0) | 2015.07.23 |
Temp table 객체 생성시 세션간 충돌하지 않는 이유 (0) | 2015.07.23 |