2011-05-27 91 views
2

我正在開發一個監視應用程序,它確定SQl服務器上的哪些事務處於掛起狀態。我怎麼知道哪些應用程序被掛起?有沒有一些特定的API?如何跟蹤哪些事務掛在SQL服務器上

+3

你說的「掛」是什麼意思? – WOPR 2011-05-27 06:04:20

+0

當一個交易開始但不完全但處於未定義或停滯狀態時 – Chani 2011-05-27 07:57:01

回答

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