【转载】 Sqlserver查看数据库死锁的SQL语句
程序员文章站
2022-04-08 17:46:47
在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查询,涉及到的系统数据表有dm_exec_requests、dm_exec_sessions、dm_e ......
在sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用sql语句来查询数据库死锁情况,主要通过系统数据库master数据库来查询,涉及到的系统数据表有dm_exec_requests、dm_exec_sessions、dm_exec_sql_text等几个表。
sql查询语句如下:
select es.session_id, database_name = db_name(er.database_id), er.cpu_time, er.reads, er.writes, er.logical_reads, login_name, er.status, blocking_session_id, wait_type, 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), parent_query = qt.text, program_name, host_name, nt_domain, start_time from sys.dm_exec_requests er inner join sys.dm_exec_sessions es on er.session_id = es.session_id cross apply sys.dm_exec_sql_text(er.sql_handle)as qt where es.session_id > 50 and es.session_id not in (@@spid) order by 1, 2
备注:原文转载自 sqlserver查看数据库死锁的sql语句_it技术小趣屋。
推荐阅读
-
在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
-
探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
-
SQLServer怎么查看正在执行的SQL语句?
-
随机提取Access/SqlServer数据库中的10条记录的SQL语句
-
【转载】Sqlserver的SQL语句实现分页查询
-
【转载】C#常用数据库Sqlserver通过SQL语句查询数据库以及表的大小
-
【转载】 Sqlserver查看数据库死锁的SQL语句
-
SqlServer性能优化,查看CPU、内存占用大的会话及SQL语句
-
sqlserver数据库中的表、字段sql语句
-
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句