Article ID: 906344 - Last Review: August 31, 2005 - Revision: 2.1 The blocked column in the sysprocesses table is populated for latch waits after you install SQL Server 2000 SP4SUMMARYAfter you install Microsoft SQL Server 2000 Service Pack 4 (SP4), you may notice that the blocked column in the sysprocesses system table is populated for latch waits in addition to lock waits. Sometimes, you may notice brief periods of time when a single server process ID (SPID) is reported as blocking itself. This behavior is expected. MORE INFORMATIONLatches are used to synchronize access to cached data pages and other in-memory objects. Typically, latches are only held briefly, and latch wait times are correspondingly small. SQL Server 2000 SP4 adds diagnostics to help troubleshoot cases in which an SPID waits a long time for a latch. These diagnostics cause the blocked column in the sysprocesses system table to reflect the owner of a latch that is blocking the latch request of another SPID. Before SQL Server 2000 SP4, the blocked column was only populated when a lock wait caused blocking.
This change in SQL Server 2000 SP4 does not change the situations in which a latch is requested. Additionally, this change does not change the situations in which an SPID is blocked by a latch. This change only affects the way in which latch waits are reported in the sysprocesses system table. Latch ownership is only tracked for latches that are in exclusive (EX) or update (UP) latch mode. Ownership is not tracked for latches that are in shared (SH) latch mode. This means that the blocked column will not be populated for some latch requests, even after SQL Server 2000 SP4 has been installed. Most of the time, you can ignore the value in the blocked column if the following conditions are true:
822101
(http://support.microsoft.com/kb/822101/
)
The waittype and lastwaittype columns in the sysprocesses table in SQL Server 2000
When an SPID is waiting for an I/O page latch, you may notice that the blocked column briefly reports that the SPID is blocking itself. This behavior is a side effect of the way that latches are used for I/O operations on data pages. When a thread issues an I/O request, the SPID that issues the I/O request acquires a latch on the page. All SQL Server 2000 I/O operations are asynchronous. Therefore, the SPID will try to acquire another latch on the same page if the SPID that issued the I/O request must wait for the request to finish. This second latch is blocked by the first latch. Therefore, the blocked column reports that the SPID is blocking itself. When the I/O request finishes, the first latch is released. Then, the second latch request is granted. For example, the following conditions may occur:
| Article Translations
|

Back to the top
