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

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

  • <strong id="5koa6"></strong>
  • 分析數據庫死鎖原因的方法

    發表于:2009-04-15來源:作者:點擊數: 標簽:數據庫死鎖
    ??吹剿梨i的問題,一般都是KILL進程,但如果不查出引起死鎖的原因,死鎖會時常發生 可以通過查找引起死鎖的的操作,就可以方便的解決死鎖,現將日常解決問題的方法總結,也許對大家有幫助 1\死鎖發生時,通過如下語法,查詢出引起死鎖的操作 use master go declare @
    ??吹剿梨i的問題,一般都是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:

    /*
    -------------------------------------------------------
    引起數據庫死鎖的是: 71進程號,其執行的SQL語法如下

    EventType      Parameters EventInfo                                       
    -------------- ---------- ------------------------------------------------
    Language Event 0         
    select * from test
    insert test values(1,2)


    (所影響的行數為 1 行)

    DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
                                                                                  
    ------------------------------------------------------------------------------
    進程號SPID:64被進程號SPID:71阻塞,其當前進程執行的SQL語法如下

    EventType      Parameters EventInfo                                       
    -------------- ---------- ------------------------------------------------
    Language Event 0         
    select * from test
    insert test values(1,2)


    (所影響的行數為 1 行)

    DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
                                                                                  
    ------------------------------------------------------------------------------
    進程號SPID:65被進程號SPID:64阻塞,其當前進程執行的SQL語法如下

    EventType      Parameters EventInfo                                                                                          
    -------------- ---------- --------------------------------------------------------------------------------------------------
    Language Event 0          begin tran
    select * from test with (holdlock)
    waitfor time '12:00'
    select * from test
    commit

    (所影響的行數為 1 行)

    DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
                                                                                  
    ------------------------------------------------------------------------------
    進程號SPID:73被進程號SPID:64阻塞,其當前進程執行的SQL語法如下

    EventType      Parameters EventInfo                                                                                          
    -------------- ---------- --------------------------------------------------------------------------------------------------
    Language Event 0          begin tran
    select * from test with (holdlock)
    waitfor time '12:00'
    select * from test
    commit

    (所影響的行數為 1 行)

    DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

    原文轉自: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>