• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 通過查找引起死鎖的的操作即可解決死鎖

    發表于:2008-04-15來源:作者:點擊數: 標簽:
    說道死鎖問題的解決,一般情況下我們都是選擇KILL進程,但如果不查出引起死鎖的原因,死鎖的現象則會頻繁出現,其實只要通過查找引起死鎖的的操作,就可以方便的解決死鎖。 具體的解決方法如下: 1.再死鎖發生時,我們可以通過下面的語法,查詢到引起死鎖的操作:
     說道死鎖問題的解決,一般情況下我們都是選擇KILL進程,但如果不查出引起死鎖的原因,死鎖的現象則會頻繁出現,其實只要通過查找引起死鎖的的操作,就可以方便的解決死鎖。

      具體的解決方法如下:

      1.再死鎖發生時,我們可以通過下面的語法,查詢到引起死鎖的操作:

      use master
      go
      declare @spid int,@bl int
      DECLARE s_cur CURSOR FOR
      select 0 ,blocked
      from (select * from sysprocesses where blocked>0 ) a
      where not exists(select * from (select * from sysprocesses where blocked>0 ) b
      where a.blocked=spid)
      union select spid,blocked from sysprocesses where blocked>0
      OPEN s_cur
      FETCH NEXT FROM s_cur INTO @spid,@bl
      WHILE @@FETCH_STATUS = 0
      begin
      if @spid =0
      select '引起數據庫死鎖的是: '+ CAST(@bl AS VARCHAR(10)) + '進程號,其執行的SQL語法如下'
      else
      select '進程號SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '進程號SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其當前進程執行的SQL語法如下'
      DBCC INPUTBUFFER (@bl )
      FETCH NEXT FROM s_cur INTO @spid,@bl
      end
      CLOSE s_cur
      DEALLOCATE s_cur
      exec sp_who2

      2.然后查找程序/數據庫,此t_sql語法具體在什么地方使用。

      3.分析已經找到的,解決問題。

      EG:
      /*

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>