惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
B
Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Jina AI
Jina AI
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
L
LangChain Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
F
Fortinet All Blogs
H
Help Net Security
B
Blog RSS Feed
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题

博客园 - rosanshao

使用sc 命令写脚本 添加和删除服务 简单应用 Win 10激活 couchbase map reduce StartWith 测试 笔记,转 Couchbase II( View And Index) Couchbase I SqlIO优化 MemCached 安装笔记 Asp.Net异步编程-使用了异步,性能就提升了吗? Autofac Mvc Webapi注入笔记 Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结 WCF .NET REST调用方式 WCF HelpPage 和自动根据头返回JSON XML .net 4.0 新特性 Linq 并行化处理 IIS 假死状态处理 gmap jQuery插件开发 StatusCode - rosanshao - 博客园
死锁检测
rosanshao · 2014-09-15 · via 博客园 - rosanshao

/****** Object:  StoredProcedure [dbo].[sp_who_lock]    Script Date: 09/15/2014 11:55:46 ******/ SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER ON GO

CREATE procedure [dbo].[sp_who_lock] as begin declare @spid int,@bl int,  @intTransactionCountOnEntry  int,         @intRowcount    int,         @intCountProperties   int,         @intCounter    int

 create table #tmp_lock_who (  id int identity(1,1),  spid smallint,  bl smallint)    IF @@ERROR<>0 RETURN @@ERROR    insert into #tmp_lock_who(spid,bl) select  0 ,blocked    from (select * from sys.sysprocesses where  blocked>0 ) a    where not exists(select * from (select * from sys.sysprocesses where  blocked>0 ) b    where a.blocked=spid)    union select spid,blocked from sys.sysprocesses where  blocked>0

 IF @@ERROR<>0 RETURN @@ERROR   -- 找到临时表的记录数  select  @intCountProperties = Count(*),@intCounter = 1  from #tmp_lock_who    IF @@ERROR<>0 RETURN @@ERROR    if @intCountProperties=0   select '现在没有阻塞和死锁信息' as message

-- 循环开始 while @intCounter <= @intCountProperties begin -- 取第一条记录   select  @spid = spid,@bl = bl   from #tmp_lock_who where Id = @intCounter  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 )  end

-- 循环指针下移  set @intCounter = @intCounter + 1 end

drop table #tmp_lock_who

return 0 end GO