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:
Views: 11,743



意見

# 默默 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 默默,謝謝指正! 我更正內容了。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<October 2007>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication