TIPS-Log Deadlock Event For SQL 2005

之前介紹過如何用Profiler抓到Deadlock事件,在實務上,Deadlock的發生時機不是很容易掌握,而且多發生在尖峰時刻,一直開著Profiler將是挺沈重的系統負擔。因此,我認為以錯誤事件的態度面對Deadlock, 要求其在發生時留下Log是比較有效率掌握Deadlock相關情報(尤其是導致Deadlock的T-SQL指令)的做法。查了一下,SQL Server上可以利用DBCC TRACEON開啟與Deadlock相關的幾個Flag: 1204, 1205, 3605,如要長期開啟,則可以加入-T1205等啟動參數,詳細說明可以參考這篇官方KB[Update @ 2007/10/23] SQL Server 2005 是開 1204 與 1222才對,前述的KB 832524 是針對 SQL Server 2000 的。細節可參考 http://msdn2.microsoft.com/en-us/library/ms178104.aspx,謝謝網友默默指正。

傳統做法似乎要另外開SQLDiag工具蒐集Log,但我發現從SQL 2005的Log Viewer就可以找到發生Deadlock的SQL指令囉!

Published 17 October 2007 02:38 AM 由 Jeffrey
Filed under:


意見

# 默默 said on 23 October, 2007 03:17 AM

SQL Server 2005 是開 1204 與 1222,KB 832524 是針對 SQL Server 2000 的。

可以參考 http://msdn2.microsoft.com/en-us/library/ms178104.aspx

# Jeffrey said on 23 October, 2007 09:53 AM

To 默默,謝謝指正! 我更正內容了。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

【請注意】意見送出後可能需要幾分鐘才會出現在網頁上,請耐心等候。

搜尋

Go

<October 2007>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
最新回應


BlogLook Score and Rank

Syndication