Найти причины блокировок SQL

Довгі відкриті транзакції (типова причина в 1С)

-- Транзакції, відкриті більше 30 секунд
SELECT
s.session_id,
s.login_name,
s.program_name,
s.host_name,
s.status,
DATEDIFF(SECOND, at.transaction_begin_time, GETDATE()) AS open_sec,
at.transaction_begin_time,
t.text AS last_query
FROM sys.dm_tran_active_transactions at
JOIN sys.dm_tran_session_transactions st ON st.transaction_id = at.transaction_id
JOIN sys.dm_exec_sessions s ON s.session_id = st.session_id
LEFT JOIN sys.dm_exec_requests r ON r.session_id = s.session_id
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) t
WHERE DATEDIFF(SECOND, at.transaction_begin_time, GETDATE()) > 30
ORDER BY open_sec DESC;