ITPub博客

首页 > > > sqlserver 查询死锁的几种办法

sqlserver 查询死锁的几种办法

作者:飘絮絮絮丶 时间:2023-03-22 17:06:32 0 删除 编辑

sp_who2 系统存储过程

sp_who2 提供有关当前 SQL Server 进程以及关联用户、应用程序、数据库、CPU 时间等的信息。可以使用“active”参数过滤存储过程以仅返回活动进程。

exec sp_who2
sp_who2 显示进程 33 被进程 171 阻止

sys.dm_os_waiting_tasks DMV

sys.dm_os_waiting_tasks DMV 返回有关正在等待资源的任务的信息。要查看数据,用户应对实例具有 SQL Server 系统管理员或 VIEW SERVER STATE 权限。

select session_id,wait_duration_ms,wait_type,blocking_session_id
from  sys.dm_os_waiting_tasks
WHERE blocking_session_id <> 

sys.dm_exec_requests

sys.dm_exec_requests DMV 提供了有关在 SQL Server 中运行的所有进程的详细信息。使用下面列出的 sql语句,将返回阻塞的进程。

select * from  sys.dm_exec_requests
WHERE blocking_session_id <> ;

通过下面的语句可以查看当前库中有哪些表是发生死锁

SELECT request_session_id
spid,OBJECT_NAME(resource_associated_entity_id)tableName
FROM
sys.dm_tran_locks
WHERE resource_type='OBJECT '

有帮助的小伙伴记得点个赞哦~.~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3163584/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42164