View the process block chain (sp_who_blocks)

>>Script Language and Platform: SQL Server 2005

This procedure is an extension of sp_who2 that shows additional information about the block chain using CTE. It shows the same information about processes that sp_who2 provides when it is called without parameters, but when the spid is passed as a parameter, it adds two more columns called Level and Track and shows records of processes that are part of the block chain of that spid. The Level column is an int that is always equal to 0 for the given spid. Level has positive values for all processes directly or indirectly blocked by the given spid and negative values for all processes that directly or indirectly blocks the given spid. For example, consider the following block chain:

SPID: 101 -> 102 -> 103 -> 104

Now you execute sp_who_blocks passing 103 as parameter. The value for the Level column would be:

SPID:  101 -> 102 -> 103 -> 104
LEVEL: -2 -1 0 1

The results are retrieved ordered by the Level column, thus, you can quickly view that the first record is the first process of the block chain.

The Track column was added just to facilitate the visualization of blocking dependency. It is a string in the following format ‘spid -> blockedby’.

Author: Fabio Hemylio

Download Script:

We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…

Disclaimer Continued

Back to Database Journal Home

Latest Articles