设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1324|回复: 1

Sqlserver查看数据库死锁的SQL语句

[复制链接]

30

主题

220

金钱

355

积分

入门用户

发表于 2019-4-26 15:31:26 | 显示全部楼层 |阅读模式

Sqlserver查看数据库死锁的SQL语句

在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查询,涉及到的系统数据表有dm_exec_requests、dm_exec_sessions、dm_exec_sql_text等几个表。

SQL查询语句如下:
  1. SELECT
  2.     es.session_id,
  3.     database_name = DB_NAME(er.database_id),
  4.     er.cpu_time,
  5.     er.reads,
  6.     er.writes,
  7.     er.logical_reads,
  8.     login_name,
  9.     er.status,
  10.     blocking_session_id,
  11.     wait_type,
  12.     individual_query = SUBSTRING (qt.text, er.statement_start_offset/2, (CASE WHEN er.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE er.statement_end_offset END - er.statement_start_offset)/2),
  13.     parent_query = qt.text,
  14.     program_name,
  15.     host_name,
  16.     nt_domain,
  17.     start_time
  18. FROM
  19.     sys.dm_exec_requests er
  20.     INNER JOIN sys.dm_exec_sessions es ON er.session_id = es.session_id
  21.     CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt
  22. WHERE
  23.     es.session_id > 50           
  24.     AND es.session_Id NOT IN (@@SPID)
  25. ORDER BY
  26.     1, 2
复制代码

351

主题

2万

金钱

3万

积分

版主

QQ
发表于 2019-5-4 19:57:11 | 显示全部楼层
谢谢分享
dog rich, don't forget
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表