Как определить и убить самую длительную транзакцию? - PullRequest
2 голосов
/ 27 октября 2011

как я могу перечислить все запущенные транзакции, упорядоченные по времени их выполнения (descdendent)? Я хочу убить сообщение, которое я по ошибке начал.

Заранее спасибо.

Ответы [ 2 ]

9 голосов
/ 27 октября 2011

Неисследовано / не проверено, но что-то вроде

SELECT at.transaction_id, 
       at.transaction_begin_time, 
       st.session_id
FROM sys.dm_tran_active_transactions at
LEFT JOIN sys.dm_tran_session_transactions st 
    ON at.transaction_id = st.transaction_id
ORDER BY transaction_begin_time

4 голосов
/ 27 октября 2011

В SQL Server Management Studio вы можете найти идентификатор продолжающихся транзакций, щелкнув правой кнопкой мыши рабочую базу данных -> Отчеты -> Все транзакции .. После определения идентификатора транзакции все, что вам нужно сделать, это создать новый запрос и выполнить следующий запрос «kill [actionID]» т.е.: kill 96

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...