因为所处的工作原因,经常会处理SQL运行慢的情况,需要抓出那条捣乱的虫子以表示自己的清白,所以很无奈的看了网上N多的资料,然后try了N+N遍,加上客户的试用,哈,一个比较完整的抓阻塞的脚本就出炉了。[@more@]
来源:http://post.blog.hexun.com/edaily/trackback.aspx?articleid=5211943
NOCOUNT
@sid ,
@objid ,
@old_sid ,
@dbid ,
@db_name (255)
,
10000 * datepart(yy, getdate()) + 100 * datepart(mm, getdate()) + datepart(dd, getdate()),
10000 * datepart(hh, getdate()) + 100 * datepart(mi, getdate()) + datepart(ss, getdate())
spid 进程号,
blocked >0 +(,blocked)+
,*
sysprocesses
blocked,spid
* #temp master..syslockinfo req_spid
* #temp req_spid
req_spid,rsc_dbid,rsc_objid #temp1 #temp req_spid,rsc_dbid,rsc_objid
@old_sid = 0
sid_cur
req_spid,rsc_dbid,rsc_objid #temp1 req_spid,rsc_objid
sid_cur
@@error != 0
sid_cur
deallocate sid_cur
error_no = 1,error_info =
#temp
#temp1
sid_cur @sid, @dbid, @objid
@@fetch_status = 0
@old_sid <> @sid
+(,@sid)+
sp_lock @sid
+(,@sid)+
dbcc inputbuffer(@sid)
@db_name = +(,@sid)++
db_name(@dbid) +
+ + (,@objid)
( @db_name )
@old_sid = @sid
sid_cur @sid, @dbid, @objid
#temp
#temp1
sid_cur
deallocate sid_cur
NOCOUNT
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7764484/viewspace-901202/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7764484/viewspace-901202/
SQL阻塞问题解决脚本
本文介绍了一种处理SQL运行缓慢的方法,并提供了一个用于抓取阻塞进程的完整脚本。通过分析阻塞情况,可以有效定位并解决数据库性能瓶颈。
706

被折叠的 条评论
为什么被折叠?



