Blocking is a very common scenario in many database systems. This is what happens when one query is holding exclusive access to a resource that another query also requires. It is normal for some blocking to occur, but severe blocking can cause major performance issues and should be investigated. When troubleshooting query performance, it's a good idea to check for blocking first, to see if queries are slow because they are expensive, or because they are being blocked by some other workload.
The key DMVs for investigating blocking are sys.dm_exec_requests and sys.dm_os_waiting_tasks. As we discussed previously, these DMVs show us which queries are currently running and what state they are in. They also have columns that ...