`
baobeituping
  • 浏览: 1043153 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

查看死锁的SQL语句

阅读更多

use master
go
declare @spid int,@bl int
DECLARE s_cur CURSOR FOR
select  0 ,blocked
from (select * from sysprocesses where  blocked>0 ) a
where not exists(select * from (select * from sysprocesses where  blocked>0 ) b
where a.blocked=spid)
union select spid,blocked from sysprocesses where  blocked>0
OPEN s_cur
FETCH NEXT FROM s_cur INTO @spid,@bl
WHILE @@FETCH_STATUS = 0
begin
if @spid =0
            select ' 引起数据库死锁的是: '+ CAST(@bl AS VARCHAR(10)) + ' 进程号, 其执行的SQL 语法如下'
else
            select ' 进程号SPID :'+ CAST(@spid AS VARCHAR(10))+ ' 被' + ' 进程号SPID :'+ CAST(@bl AS VARCHAR(10)) +' 阻塞, 其当前进程执行的SQL 语法如下'
DBCC INPUTBUFFER (@bl )
FETCH NEXT FROM s_cur INTO @spid,@bl
end
CLOSE s_cur
DEALLOCATE s_cur

exec sp_who2
运行sp_who2 ,看blk by 栏, 如果这栏不是空白, 有一个数字, 这就是造成阻塞(blocking)的线程id. 然后运行DBCC Inputbuffer(线程id), 你就可以看见这个线程在干什么。

来源:http://club.techtarget.com.cn/showtopic-42012-1.aspx

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iwteih/archive/2009/12/15/5012946.aspx

分享到:
评论

相关推荐

    查看数据库死锁SQL

    该脚本为MYSQL数据库中查看死锁的语句,可以查看到死锁的ID,造成死锁的语句以及造成死锁的计算机

    死锁查询sql语句

    oracle数据库死锁查询并处理,被锁对象、引起死锁原因等查询及解决方法

    oracle查询死锁语句

    oracle查询死锁语句,并能根据根据ID值杀死锁表的进程!

    SqlServer查询和Kill进程死锁的语句

    主要介绍了SqlServer查询和Kill进程死锁的语句,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    查询死锁的sql.txt

    查询死锁的sql,一般数据库死锁了,可以查询出死锁的sql语句,死锁进程等信息。

    数据库死锁判断SQL

    判断数据库死锁的SQL,可以检测出死锁的语句和进程

    postgresql查询死锁以及杀死死锁进程sql.txt

    查询sql的死锁进程,查找并杀死。解决生产数据库中卡死的现象。postgresql查询死锁以及杀死死锁进程sql

    sqlserver死锁查询

    用于sqlserver优化使用,可定位死锁,并查询死锁语句。

    检查 Sql Server的阻塞和死锁

    检查 Sql Server的阻塞和死锁--------------------------------------------

    sqlserver如何快速查询死锁语句

    sqlserver如何快速查询死锁语句: 1、查询数据库有未提交事务语句、关键的死锁阻塞语句; 2、通过脚本可以准确找到引起死锁的关键进程,然后结束掉这一条,从而达到释放死锁问题。 3、优点:通过找到关键的语句结束...

    SQL查询死锁

    利用存储过程查询死锁及语句。 begin if @spid =0 select '引起数据库死锁的是: '+ CAST(@bl AS VARCHAR(10)) + '进程号,其执行的SQL语法如下' else select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' ...

    Sqlserver死锁处理(比较好用)

    /**//*--调用示例 exec p_lockinfo 0,1 --*/ create proc p_lockinfo @kill_lock_spid bit=1, --是否杀掉死锁的进程,1 杀掉...@show_spid_if_nolock bit=1 --如果没有死锁的进程,是否显示正常进程信息,1 显示,0 不显示

    SQLServer排查死锁

    如何使用SQL Server Profiler来监控数据库死锁。SQL Server Profiler配置及查看锁表信息,提取锁表日志和对应SQL语句。

    SQL Server死锁查询

    日常SQL Server出现事物锁表,查询锁表信息

    数据库死锁

    数据库死锁sql语句

    查找MySQL中查询慢的SQL语句方法

    MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用–log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较...

    Sql Server 查询死锁进程及抛弃进程 ..txt

    在sql server 运行过程中,容易产生死锁,该代码提供了一个查询死锁进程并抛弃的方法。供参考。

    常用sql语句汇总

    死锁经验,BCP数据导入导出,动态生成日期纬度,断开数据库更改名称等等

    sqlserver2005 查看死锁和kill死鎖

    我们可以使用以下存储过程来检测,就可以查出引起死锁的进程和SQL语句。SQL Server自带的系统存储过程sp_who和sp_lock也可以用来查找阻塞和死锁, 但没有这里介绍的方法好用

Global site tag (gtag.js) - Google Analytics