利用 SQL Profile 擷取和分析死結發生的原因。
首先要在 SQL Profile 內建立追蹤來擷取相關事件和資料行。在追蹤的[事件選取範圍]
索引標籤內,預設是不會出現 Lock 相關事件,必須先勾選"顯示所有事件"和"顯示所有資料行",全部選項才會完整出現。
勾選 Locks 事件並選擇需要的欄位資訊
- DeadLock graph:提供死結的 XML 描述。(SQL 2005 開始支援)
- Lock:DeadLock:追蹤交易何時要求鎖定已由其他交易鎖定的資源,而造成死結。
DeadLock graph 和 Lock:DeadLock 的 LoginName 在顯示的資料上的差異
- DeadLock graph: sa
- Lock:DeadLock:連線使用者
在 [事件選取範圍] 索引標籤上選取 Deadlock graph 事件,[事件擷取設定] 索引標籤才會出現,[事件擷取設定]
索引標籤內的死結 XML 設定,可以單獨把 DeadLock graph 產生的死結圖形儲存成 xdl 檔案。
- 單一檔案中的所有死結 XML 批次:將所有死結圖表事件儲存在單一 XML 檔案中
- 相異檔案中的每一個死結 XML 批次:為每一個死結圖表建立新的 XML 檔案。