查看数据库死锁SQL语句
数据库优化sql语句最近敲代码,突然发现数据库访问特别慢,⽽且尤其是访问到某⼀个特定的数据库的时候,特别慢,这种情况下就要仔细检查⼀下⾃⼰的代码咯,可能是⾃⼰的sql语句导致了数据库访问过慢,下⾯是如何查出来到底是哪⼀个sql语句导致数据库访问过慢!
我⽤的数据库是SqlServer
sp_lock
select * from master.dbo.sysdatabases
DBCC INPUTBUFFER(71)
1.
sp_lock查看数据库的锁级别,查看哪⼀个数据库发⽣死锁
Mode的值有以下⼏种:
Mode:锁模式(S:共享锁、U:修改锁、X:排它锁、IS共享意图锁、IX排它意图锁)
若数据库发⽣死锁,那么可以根据Mode的值进⾏判断,到死锁的数据库id即dbid字段!
2.
select * from master.dbo.sysdatabases
根据dbid字段获取到数据库的名字,这样⼦就可以定位到数据库了。
(模糊掉了数据库的名字~)
3.
DBCC INPUTBUFFER(71)
根据1步骤中获取到的spid为进程ID号,将进程ID号填⼊4的sql语句中则可以获取到当前死锁的sql语句了!
番外:
select * from master.dbo.sysobjects 这个语句可以查询数据库中所有的表,与解决问题⽆意义。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论