যেহেতু অনেকে ইতিমধ্যে চিহ্নিত করেছেন, সাধারণত একটি দীর্ঘস্থায়ী লেনদেন হয়, বেশিরভাগ ক্ষেত্রেই আমার মিস ব্যবহারকারীর সেট সেট ট্রান্সেকশনগুলি চালু করে দেয়, যা একেবারেই ব্যবহার করা উচিত নয়। ব্রেন্ট ওজারের অন্তর্দৃষ্টিপূর্ণ নিবন্ধটি কেন পরীক্ষা করে দেখুন
যাইহোক, আপনি নিম্নলিখিত কোয়েরি ব্যবহার করে দীর্ঘস্থায়ী মুলতুবি লেনদেনের একটি তালিকা পেতে পারেন।
SELECT
[s_tst].[session_id],
[s_es].[login_name] AS [Login Name],
DB_NAME (s_tdt.database_id) AS [Database],
[s_tdt].[database_transaction_begin_time] AS [Begin Time],
[s_tdt].[database_transaction_log_bytes_used] AS [Log Bytes],
[s_tdt].[database_transaction_log_bytes_reserved] AS [Log Rsvd],
[s_est].text AS [Last T-SQL Text],
[s_eqp].[query_plan] AS [Last Plan]
FROM
sys.dm_tran_database_transactions [s_tdt]
JOIN
sys.dm_tran_session_transactions [s_tst]
ON
[s_tst].[transaction_id] = [s_tdt].[transaction_id]
JOIN
sys.[dm_exec_sessions] [s_es]
ON
[s_es].[session_id] = [s_tst].[session_id]
JOIN
sys.dm_exec_connections [s_ec]
ON
[s_ec].[session_id] = [s_tst].[session_id]
LEFT OUTER JOIN
sys.dm_exec_requests [s_er]
ON
[s_er].[session_id] = [s_tst].[session_id]
CROSS APPLY
sys.dm_exec_sql_text ([s_ec].[most_recent_sql_handle]) AS [s_est]
OUTER APPLY
sys.dm_exec_query_plan ([s_er].[plan_handle]) AS [s_eqp]
where [s_tdt].[database_transaction_begin_time] is not null
ORDER BY
[Begin Time] ASC;
https://www.brentozar.com/archive/2018/02/set-implicit_transactions-one-hell-bad-idea/