Long-running transaction = entire DB slowdown.
✔ Quick Diagnostic
SELECT * FROM sys.dm_tran_active_transactions;
If you see an uncommitted transaction running for hours → that’s your culprit.
✔ The Fix
Enable XACT_ABORT to auto-kill faulty transactions:
SET XACT_ABORT ON;
This is rarely known but prevents ghost locks forever.
