【Sql】-- 监测数据库表发生死锁脚本

--根据事务ID 和其对应的session_id 找到活动事务对应的执行语句
SELECT DISTINCT 
  dt.text,
  dtl.request_session_id,OBJECT_NAME(dtl.resource_associated_entity_id),
  ds.login_name,
  ds.login_time,    
  ds.host_name,
  ds.program_name,
  case ds.status when 'sleeping' then N'睡眠 - 当前没有运行任何请求 '
      when 'running' then N'正在运行 - 当前正在运行一个或多个请求 '
      when 'Dormancy' then N'休眠 – 会话因连接池而被重置,并且现在处于登录前状态'
      when 'Pre-connected' then N'预连接 - 会话在资源调控器分类器中'
      end as status ,
  ds.cpu_time as cpu_time_ms,
  ds.memory_usage*8 as memory_kb,
  ds.total_elapsed_time as total_elapsed_time_ms,
  case ds.transaction_isolation_level when 0 then N'未指定'
          when 1 then N'未提交读取'
          when 2 then N'已提交读取'
          when 3 then N'可重复'
          when 4 then N'可序列化'
          when 5 then N'快照'
          end N'会话的事务隔离级别'
  FROM sys.dm_tran_locks dtl
  join sys.dm_exec_sessions ds  on dtl.request_session_id=ds.session_id
  LEFT JOIN sys.dm_exec_connections  dc  on dc.session_id=dtl.request_session_id      --执行连接,最近执行的查询信息  
  cross apply sys.dm_exec_sql_text(dc.most_recent_sql_handle) dt
  WHERE dtl.resource_type='OBJECT'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大白啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值