SQL Server 2000 死鎖(dead lock) 問題解決

tolywang發表於2010-04-08
死鎖可以查一下:
1:sp_who 或 sp_who2
2: Select * from sysprocesses where blocked <> 0
3: 企業管理器->伺服器->管理工具->活動->當前活動 然後把他kill掉。。。
4:SQL事件探查器,監控一下,看主要是那些處理引起的死鎖.然後做相應的處理.
用事件探查器new一個trace,監視一下造成你sqlserver停頓的情況。。。

最好的辦法還是檢查一下引起鎖的原因,一般是由你的程式碼引起的。


SQL事件探查器用法
開始--程式--MS SQLSERVER
        --事件探察器(SQL Profiler)
        --檔案
        --新建
        --設定跟蹤的專案...
        --然後資料庫的呼叫情況就會顯示出

--檢視鎖資訊
select 程式id=req_spid
        ,資料庫=db_name(rsc_dbid)
        ,型別=case rsc_type when 1 then 'NULL 資源(未使用)'
                when 2 then '資料庫'
                when 3 then '檔案'
                when 4 then '索引'
                when 5 then '表'
                when 6 then '頁'
                when 7 then '鍵'
                when 8 then '擴充套件盤區'
                when 9 then 'RID(行 ID)'
                when 10 then '應用程式'
        end
        ,rsc_objid,rsc_indid
from master..syslockinfo

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-660181/,如需轉載,請註明出處,否則將追究法律責任。

相關文章