Blocking & deadlocks
Blocking happens when one transaction holds a lock another one needs. Brief blocking is normal; long blocking is a common reason for "the application hangs".
Current blocking
Blocking → Current shows live lock chains in real time: which session blocks which (blocker → blocked), including the statements involved. That's how you find the head of the chain – the session holding everyone else up.
History
Blocking → History stores past blocking events so you can spot patterns (e.g. always at the same time, always the same query) even when the problem isn't active right now.
Deadlocks
A deadlock is mutual blocking: two sessions each wait for a lock the other holds. SQL Server resolves it by aborting one as the victim.
Blocking → Deadlocks reads deadlock events from the system_health Extended Events ring
buffer, draws the deadlock graph and shows the statements and resources involved – the
basis for fixing the root cause (e.g. access order).
Blocking tells you who is waiting; the queries involved tell you why. To tune the offending query, use Query analysis.