查询SQL SERVER 死锁和堵塞

学习·SQL · 2023-08-25
--查询堵塞
SELECT * FROM sys.sysprocesses WHERE blocked >0 ORDER BY blocked;

--查询堵塞的详细语句
SELECT 
t1.resource_type,
t1.resource_database_id,
t1.resource_associated_entity_id,
t1.request_mode,
t1.request_session_id,
t2.blocking_session_id
FROM sys.dm_tran_locks as t1
INNER JOIN sys.dm_os_waiting_tasks as t2
ON t1.lock_owner_address = t2.resource_address;

--查询死锁
select request_session_id spid,   
OBJECT_NAME(resource_associated_entity_id) tableName  from sys.dm_tran_locks where resource_type='OBJECT' 

--显示死锁信息
exec sp_who2 xx

--杀死死锁进程
kill xxx
sql server 死锁 堵塞