查找sqlserver查询死锁源头的方法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

查查找找sqlserver查查询询死死锁锁源源头头的的方方法法sqlserver死死锁锁监监控控

如何查出SQLServer死锁的原因,下面就教您SQLServer死锁监控的语句写法,下面的SQL语句运行之后,便

以查找出SQLServer死锁和阻塞的源头

查找出SQLServer的死锁和阻塞的源头--查找出SQLServer死锁和阻塞的源头

复制代码代码如下:

usemaster

go

declare@spidint,@blint

DECLAREs_curCRSORFOR

select0,blocked

from(select*fromsysprocesseswhereblocked0)a

wherenotexists(select*from(select*fromsysprocesseswhereblocked0)b

wherea.blocked=spid)

unionselectspid,blockedfromsysprocesseswhereblocked0

OPENs_cur

FETCHNEXTFROMs_curINTO@spid,@bl

WHILE@@FETCH_STATS=0

begin

if@spid=0

select引起数据库死锁的是:

+CAST(@blASVARCHAR(10))+进程号,其执行的SQL语法如下

else

select进程号SPID:+CAST(@spidASVARCHAR(10))+被+

进程号SPID:+CAST(@blASVARCHAR(10))+阻塞,其当前进程执行的SQL语法如下

DBCCINPTBFFER(@bl)

FETCHNEXTFROMs_curINTO@spid,@bl

end

CLOSEs_cur

DEALLOCATEs_cur

查看当前进程,或死锁进程,并能自动杀掉死进程--查看当前进程,或死锁进程,并能自动杀掉死进程

因为是针对死的,所以如果有死锁进程,只能查看死锁进程。当然,你以通过参数控制,不管有没有死锁,都只查看死锁进程。

复制代码代码如下:

createprocp_lockinfo

@kill_lock_spidbit=1,--是否杀掉死锁的进程,1杀掉,0仅显示

@show_spid_if_nolockbit=1--如果没有死锁的进程,是否显示正常进程信息,1显示,0不显示

as

declare@countint,@snvarchar(1000),@iint

selectid=identity(int,1,1),标志,

进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid,

数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CP时间=cpu,

登陆时间=login_time,打开事务数=open_tran,进程状态=status,

工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess,

域名=nt_domain,网卡地址=net_address

into#tfrom(

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

frommaster..sysprocessesajoin(

selectblockedfrommaster..sysprocessesgroupbyblocked

)bona.spid=b.blockedwherea.blocked=0

unionall

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

frommaster..syspro

文档评论(0)

wszwtlg202 + 关注
实名认证
文档贡献者

一页纸且

1亿VIP精品文档

相关文档