sql server 阻塞查询sql语句
在 SQL Server 中,可以使用以下查询语句来查找当前正在阻塞其他进程的进程和语句:
SELECT
blocking.session_id AS blocking_session_id,
blocking.wait_type AS blocking_wait_type,
blocking.wait_resource AS blocking_wait_resource,
blocked.session_id AS blocked_session_id,
blocked.wait_type AS blocked_wait_type,
blocked.wait_resource AS blocked_wait_resource,
blocked.last_wait_type AS blocked_last_wait_type,
blocked.cpu_time AS blocked_cpu_time,
blocked.total_elapsed_time AS blocked_elapsed_time,
blocked.logical_reads AS blocked_logical_reads,
blocked.reads AS blocked_reads,
blocked.writes AS blocked_writes,
blocked.row_count AS blocked_row_count,
blocked.granted_query_memory AS blocked_granted_query_memory,
blocked.query_plan AS blocked_query_plan,
blocking.text AS blocking_text,
blocked.text AS blocked_text
FROM
sys.dm_exec_requests AS blocking
JOIN sys.dm_exec_sessions AS blocking_session ON blocking.session_id = blocking_session.session_id
JOIN sys.dm_os_waiting_tasks AS blocking_task ON blocking.session_id = blocking_task.session_id
JOIN sys.dm_exec_requests AS blocked ON blocking_task.blocking_session_id = blocked.session_id
JOIN sys.dm_exec_sessions AS blocked_session ON blocked.session_id = blocked_session.session_id
WHERE
blocking.blocking_session_id <> 0
该查询语句将返回以下信息:
- 阻塞进程的会话 ID、等待类型和等待资源
- 被阻塞进程的会话 ID、等待类型和等待资源、上一次等待类型、CPU 时间、总耗时、逻辑读取次数、读取次数、写入次数、行数和已授予的查询内存
- 阻塞进程和被阻塞进程的 SQL 语
原文地址: https://www.cveoy.top/t/topic/hcIT 著作权归作者所有。请勿转载和采集!