View the process block chain (sp_who_blocks)
April 22, 2008
>>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
Disclaimer: 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...
Back to Database Journal Home