没怎么玩过sqlserver的我今天在操作sqlserver时程序一直卡死在哪里,还以为代码哪里写错了,找了半天抓狂的我凭借之前处理过

oracle死锁的一点点的敏感度开始怀疑是不是死锁了,为了验证我的猜测的正确性,于是在度娘上百度了sqlserver查询死锁的语句并进行

验证,果不奇真是死锁了,万恶的死锁!!!

为了下次在遇到此类问题可以快速找到排查死锁的语句故在此留下印记,下次好直接过来copy语句(程序员真的是很烂的,命令都是

copy的,怪不得一直是搬砖的命)废话不多说了,写完博客继续搬砖去。

--查询死锁的语句1
select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name  
from sysprocesses  
where spid in  
( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0)  

--查询死锁的语句1
select request_session_id,OBJECT_NAME(resource_associated_entity_id) tableName from   
sys.dm_tran_locks  
where resource_type='OBJECT'  

--解锁语句
declare @spid  int 
Set @spid  = 95 --进程号
declare @sql varchar(1000)
set @sql='kill '+cast(@spid  as varchar)
exec(@sql)



作者:星辰 时间:2016-09-10 浏览 1006评论 0 赞 0砸 0 标签: sqlserver
评论
还可以再输入500个字

请您注意

·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款