我正在開發一個監視應用程序,它確定SQl服務器上的哪些事務處於掛起狀態。我怎麼知道哪些應用程序被掛起?有沒有一些特定的API?如何跟蹤哪些事務掛在SQL服務器上
2
A
回答
5
你應該Transaction Related Dynamic Management Views and Functions (Transact-SQL)看看,特別是sys.dm_tran_active_transactions
2
的列出了那些正在阻塞其他會話。
SELECT S.*
FROM sys.dm_exec_requests R
INNER JOIN sys.dm_exec_sessions S
ON S.session_id = R.blocking_session_id
2
在舊版本也可以使用aba_lockinfo或較新的beta_lockinfo
+0
beta_lockinfo是明確的贏家。它幫助我們在幾分鐘內找出問題。事實證明,我們的一位開發人員在調試代碼(鎖定數據庫中的表)時,有一種午餐剎車! beta_lockinfo會顯示網絡中計算機的名稱以及導致鎖定和超時的確切進程的ID。 – 2014-10-14 10:26:15
你說的「掛」是什麼意思? – WOPR 2011-05-27 06:04:20
當一個交易開始但不完全但處於未定義或停滯狀態時 – Chani 2011-05-27 07:57:01