天天看點

SQL Server 2008 R2 死鎖監控

死鎖監控一直都很麻煩,我沒有找到很好的方法

如果大家有好的方法,我也很想學習一下

我的方法比較簡單:

 1.sp_altermessage 1205 修改1205 錯誤讓他能夠寫入日志 這樣 代理中的警告才能使用

 2.當然是啟動 代理中的警告。開資料庫郵件,會把死鎖錯誤發送到操作員郵箱裡面。缺點就是沒有詳細的死鎖資訊。

   3.使用sql server 2008 r2 自帶的 擴充事件中system_health預設是開啟的,裡面會抓取比較多的值

  你可以使用   sys.dm_xe_session_events  聯合 sys.dm_xe_sessions 檢視 抓取了那些值 當然其中一個是死鎖資訊。

    當産生死鎖的時候你何以使用: 

查詢所有的死鎖資訊,當然如果出現記憶體瓶頸的時候能儲存多久我不确定,如果死鎖太多你無法順利的找到,你想把結果減少一點,可以在每次查詢死鎖後使用:

關閉并打開這個擴充事件的session,那麼儲存在記憶體的記錄就會被清空。下次的死鎖資訊就是最新的。