回答
這將顯示與正在舉行獨佔鎖的所有數據庫(其可以包括在此運行時間保持短暫的),使用sys.dm_tran_locks
DMV:
select d.*, l.* from sys.dm_tran_locks l
join sys.databases d on l.resource_database_id = d.database_id
where l.request_mode = 'X'
(X =獨佔,S =共享, IS =意圖共享)請參閱Lock Modes。
不過,也許最好的辦法是打開跟蹤標誌1204和1222:
跟蹤標誌1204和跟蹤標誌1222 當死鎖發生時,跟蹤標誌1204 和跟蹤標誌1222返回信息 即在SQL Server 2005錯誤日誌中捕獲。跟蹤標誌1204 報告由死鎖中涉及的每個節點格式化的死鎖信息 。 跟蹤標誌1222格式死鎖 信息,首先由進程和 然後由資源。有可能 啓用兩個跟蹤標誌來獲得兩個 表示相同的死鎖 事件。
價:Detecting and Ending Deadlocks
此外,運行sp_who2
和尋找在BlkBy
(阻塞者)列中的條目;遵循這些直到你到達僵局鏈的頭部。這是進程標識符(或PID)的責任。
得到什麼SQL是落後於特定的過程中,你可以運行:
dbcc inputbuffer (@pid)
,並使用PID終止該進程(謹慎和風險自負):
kill @pid
退房Who is Active? v10.00: DMV Monitoring Made Easy
又讀Blocking is not Deadlocking(區分兩種情形)
BlkBy列究竟意味着什麼與事務相關的事務由於表已被鎖定。以及如何使用PID來終止進程。當我執行「sp_who2」時,我能夠SPID列名 – 2010-12-16 10:11:05
sys.dm_tran_locks.request_mode對S,IS和X的含義與上面的查詢中一樣。你能描述一下嗎? – 2010-12-16 10:30:02
@K Maheshwar Rao:這是有幫助的如何關於一些upvote愛? – 2010-12-16 10:35:41
- 1. 如何處理鎖定(JPA)?
- 2. 兩相鎖定事務處理中的死鎖
- 3. Cordova處理瀏覽器特定任務
- 4. 如何查找用於OpenACC的特定PGI函數的簽名?
- 5. 只讀事務表鎖定
- 6. 數據庫如何鎖定表僅用於具有特定值的特定INSERT?
- 7. Odoo如何處理數據庫鎖定?
- 8. 鎖定Java任務
- 9. 如何在SQL鏈接服務器中查找具有特定名稱的表?
- 10. 如何編寫南特任務的自定義南特任務
- 11. 將選擇最大(字段)下的事務鎖定任何行?
- 12. 如何實現特定任務的Listner?
- 13. 如何查找文件名的特定部分/擴展名?
- 14. COM:如何處理特定的異常?
- 15. SharePoint 2007 - 綁定特定列表的事件處理程序
- 16. 如何處理ETL任務?
- 17. 如何用jQuery找到某些特定的事件處理程序?
- 18. MSSQL中的事務是否鎖定表
- 19. 如何在ListView中處理特定控件的事件(Xamarin)
- 20. 如何處理Java中的事務鎖(Postgresql)
- 21. NServiceBus如何處理事務?
- 22. Windows如何確定/處理任何給定文件的DOS短名稱?
- 23. Rails樂觀鎖定手動鎖定檢查:任何問題?
- 24. 如何找出基於servlet的應用程序在任何特定時刻處理的打開會話
- 25. SQL事務處理器行級別鎖定
- 26. 查找特定於混帳
- 27. 如何找到創建一些特定輸出的Gradle任務?
- 28. gradle:如何找出執行特定任務的插件?
- 29. 長事務處理的死鎖
- 30. 如何查找依賴於特定版本的特定依賴項的內容?
真的沒有必要把你的主題作爲你的問題的第一行 - 我們都閱讀它。另外,你不需要大寫字母,它只是使閱讀變得困難。 – Robert 2010-12-16 09:30:19