実行中のすべてのトランザクションを、実行している時間(降順)で並べ替えるにはどうすればよいですか? 私は間違って始めた報告書を殺したい。最も長い実行中のトランザクションを特定して強制終了する方法は?
ありがとうございます。
実行中のすべてのトランザクションを、実行している時間(降順)で並べ替えるにはどうすればよいですか? 私は間違って始めた報告書を殺したい。最も長い実行中のトランザクションを特定して強制終了する方法は?
ありがとうございます。
/Unresearchedテストされていないが、
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
のようなもの?
SQL Server Management Studioでは、作業データベース - >レポート - >すべてのトランザクションを右クリックすると、継続するトランザクションのIDを見つけることができます。 トランザクションのIDを決定したら新しいクエリを作成し、次のクエリ "kill [transactionID]"を実行する kill 96
賛成です。このデータベースには現在開いている取引がありません。一方、私のレポートは停止されていますが、少なくともWebアプリケーションがこのDBを頻繁に使用しているため、他のアクティブなトランザクションが存在しないのはなぜですか?とにかくありがとう。 –
あなたと[Pinalのアプローチ](http://stackoverflow.com/questions/7916210/how-to-identify-and-kill -longest-running-transaction/7916316#7916316)異なる結果が返されます。クエリでは現在、session_id = NULLのトランザクションはすべて22個のリストになっていますが、Pinalsはこのクエリ自体のトランザクション(Session_Id = 57)のみを示しています。どうして? –
@TimSchmelter - 質問で指定されているように(内部システムを含む)、私のクエリは**トランザクション**をリストしているのに対し、Pinalは現在トランザクションに参加しているかどうかのステートメントを実行しています。あなたのレポートクエリがトランザクションを見て 'select'を行っているだけであれば、助けにはならないでしょう。 –
@Tim Schmelter:Pinalのサイトの "権威"という言葉は、実際の "権威"ではなくユーモアの一種であるとみなすべきです。 – gbn