死锁处理问题

原创 2005年05月21日 01:14:00

查看锁信息
create table #t(req_spid int,obj_name sysname)

declare @s nvarchar(4000)
       ,@rid int,@dbname sysname,@id int,@objname sysname

declare tb cursor for
       select distinct req_spid,dbname=db_name(rsc_dbid),rsc_objid
       from master..syslockinfo where rsc_type in(4,5)
open tb
fetch next from tb into @rid,@dbname,@id
while @@fetch_status=0
begin
       set @s='select @objname=name from ['+@dbname+']..sysobjects where id=@id'
       exec sp_executesql @s,N'@objname sysname out,@id int',@objname out,@id
       insert into #t values(@rid,@objname)
       fetch next from tb into @rid,@dbname,@id
end
close tb
deallocate tb

select 进程id=a.req_spid
       ,数据库=db_name(rsc_dbid)
       ,类型=case rsc_type when 1 then 'NULL 资源(未使用)'
              when 2 then '数据库'
              when 3 then '文件'
              when 4 then '索引'
              when 5 then '表'
              when 6 then '页'
              when 7 then '键'
              when 8 then '扩展盘区'
              when 9 then 'RID(行 ID)'
              when 10 then '应用程序'
       end
       ,对象id=rsc_objid
       ,对象名=b.obj_name
       ,rsc_indid
 from master..syslockinfo a left join #t b on a.req_spid=b.req_spid

go
drop table #t

--------------------------------------------------------------
找出死锁,杀死死锁
use master
go

select 标志='死锁的进程',
       spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
       status,hostname,program_name,hostprocess,nt_domain,net_address,
       s1=a.spid,s2=0
from master..sysprocesses a join (
       select blocked from master..sysprocesses group by blocked
       )b on a.spid=b.blocked where a.blocked=0
union all
select ' |_牺牲品_>',
       spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,
       status,hostname,program_name,hostprocess,nt_domain,net_address,
       s1=blocked,s2=1
from master..sysprocesses a where blocked<>0

死锁及处理问题

死锁及处理问题 孤独的聚能环 编辑于 2015-09-08 17:01:57 回复4 | 赞 7 | 浏览3066 所谓 死锁 就是一个进程集合中的多个进程因为竞争资源,而造成的互相...
  • u012878609
  • u012878609
  • 2015年11月05日 18:15
  • 173

应急处理问题思路

做数据库时间长了,可能会经常去客户那里进行应急处理问题,特别是客户急急忙忙的给你打电话,说数据库运行很慢,甚至说数据库无法使用了,让你到客户现场去解决问题,这个可能是大家最不想出现的,因为这个很急,到...
  • ylqiu1028
  • ylqiu1028
  • 2017年06月18日 20:48
  • 122

解决问题的原则

复杂度对等原则如果能将问题A(轻易地)转化为问题B,则B至少在难度上和A是同等的。这说明问题的复杂度是不可能通过转化来降低,如果问题B能轻易解决,则问题A就不是复杂问题。解决方法1.将问题转化为已知的...
  • silentwater
  • silentwater
  • 2015年03月24日 11:17
  • 331

数字图像处理基本问题清单

引用自: 数字图像处理 博客目录索引 - Tony的博客 - 博客频道 - CSDN.NET http://blog.csdn.net/tonyshengtan/article/details/4...
  • qq_26898461
  • qq_26898461
  • 2015年06月26日 11:42
  • 1433

高手处理事情的12个方法

1.从不去想:“如果当初”; 2.不做没必要的解释; 3.适当的糊涂; 4.大胆假设,小心求证; 5.平衡各方利益; 6.全力以赴; 7.适当的弯腰; 8.保持单纯; 9.拿捏好度; ...
  • qq_25506089
  • qq_25506089
  • 2017年10月31日 10:44
  • 70

字符流的基本实现以及编码问题之读操作

2.字符流 1) 编码问题 2)认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte …的数据...
  • zhang1996922
  • zhang1996922
  • 2017年12月03日 12:13
  • 40

具备全局观念,系统解决问题

1.3.4 具备全局观念,系统解决问题  (2009-11-01 10:15:22) 转载▼ 标签:  连载(十四)   咨询   人生   ...
  • legend_x
  • legend_x
  • 2014年09月28日 11:31
  • 769

死锁及oracle死锁

所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程...
  • z69183787
  • z69183787
  • 2015年03月10日 10:39
  • 1191

性能调优(处理 sql server 死锁)

        最近在做性能测试的时候发现程序在SQL Server下有很多死锁,于是进行了一些优化工作。尽管并无法解决所有问题,但是可喜的是性能得到了量级的提升。        测试工具:winRu...
  • olony
  • olony
  • 2007年08月05日 19:48
  • 2289

java中如何写一个死锁例子

你没看错,今天是要写一个死锁程序。通过自己写一个死锁例子,就能理解为什么会发生死锁。 但在写这个程序前,是不是要知道什么情况下才会发生死锁(假装我开头没说过那句话)。我们先抛开一系列复杂的业务逻辑,单...
  • qq_35064774
  • qq_35064774
  • 2016年06月30日 21:42
  • 3171
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:死锁处理问题
举报原因:
原因补充:

(最多只允许输入30个字)