sql server进程阻塞检查和解决办法

sql server进程阻塞检查和解决办法

ID:20339650

大小:31.00 KB

页数:4页

时间:2018-10-10

sql server进程阻塞检查和解决办法_第1页
sql server进程阻塞检查和解决办法_第2页
sql server进程阻塞检查和解决办法_第3页
sql server进程阻塞检查和解决办法_第4页
资源描述:

《sql server进程阻塞检查和解决办法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、createproceduresp_who_lock  as  begin  declare@spidint,@blint,  @intTransactionCountOnEntryint,  @intRowcountint,  @intCountPropertiesint,  @intCounterint  createtable#tmp_lock_who(  idintidentity(1,1),  spidsmallint,  blsmallint)  IF@@ERROR<>0RETURN@@ERROR  insertinto#tmp_l

2、ock_who(spid,bl)select0,blocked  from(select*fromsysprocesseswhereblocked>0)a  wherenotexists(select*from(select*fromsysprocesseswhereblocked>0)b  wherea.blocked=spid)  unionselectspid,blockedfromsysprocesseswhereblocked>0  IF@@ERROR<>0RETURN@@ERROR  --找到临时表的记录数  select@intC

3、ountProperties=Count(*),@intCounter=1  from#tmp_lock_who  IF@@ERROR<>0RETURN@@ERROR  if@intCountProperties=0  select'现在没有阻塞信息'asmessage  --循环开始  while@intCounter<=@intCountProperties  begin  --取第一条记录  select@spid=spid,@bl=bl  from#tmp_lock_whowhereId=@intCounter  begin  if@s

4、pid=0  select'引起数据库阻塞的是:'+CAST(@blASVARCHAR(10))+'进程号,其执行的SQL语法如下'  else  select'进程号SPID:'+CAST(@spidASVARCHAR(10))+'被'+'进程号SPID:'+CAST(@blASVARCHAR(10))+'阻塞,其当前进程执行的SQL语法如下'  DBCCINPUTBUFFER(@bl)  end  --循环指针下移  set@intCounter=@intCounter+1  end  droptable#tmp_lock_who  ret

5、urn0  end  GO  --结束SQL阻塞的进程%%%%%%%%%%%%%%%%%%%%%%create   proceduresp_Kill_lockProcess  as  begin  SETNOCOUNTON  declare@spidint,@blint,  @intTransactionCountOnEntryint,  @intRowcountint,  @intCountPropertiesint,  @intCounterint,  @sSqlnvarchar(200)  createtable#tmp_lock_who

6、(  idintidentity(1,1),  spidsmallint,  blsmallint)  IF@@ERROR<>0RETURN@@ERROR  insertinto#tmp_lock_who(spid,bl)  select0,blocked  from  (select*fromsysprocesseswhereblocked>0)a  wherenotexists  (  select*from(select*fromsysprocesseswhereblocked>0)b  wherea.blocked=spid  )  u

7、nionselectspid,blockedfromsysprocesseswhereblocked>0  IF@@ERROR<>0RETURN@@ERROR  --找到临时表的记录数  select@intCountProperties=Count(*),@intCounter=1  from#tmp_lock_who  IF@@ERROR<>0RETURN@@ERROR  while@intCounter<=@intCountProperties  begin  --取第一条记录  select@spid=spid,@bl=bl  from

8、#tmp_lock_whowhereId=@intCounter  begin  if@spid=0  begin  set@sSql='kill'+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。