LATCH waittypes
A latch is a short-term lightweight synchronization object. The following list describes the different types of latches:
- Non-buffer (non-buf) latch:the Non-buffer latches provide synchronization services to in-memory data structures or Provid e re-entrancy protection for concurrency-sensitive code lines. These latches can is used for a variety of things, but they is not used to synchronize access to buffer pages.
- Buffer (BUF) latch:the buffer latches is used to synchronize access to BUF structures and their associated database page S. The typical buffer latching occurs during operations that require serialization on a buffer page, (during a page split or during the allocation of a new page, for example). These latches is not held for the duration of a transaction. These is indicated in the master.dbo.sysprocesses table by the Pagelatch waittypes.
- Io latch:the io latches is a subset of BUF latches that is used when the buffer and associated data page or the index p The middle of an IO operation. Pageiolatch waittypes is used for disk-to-memory transfers and a significant waittime for these waittypes suggests disk I /O subsystem issues.
Latch_x for internal resource synchronization
Pageiolatch_x for synchronizing data pages in disk to memory
Pagelatch_x is used for access synchronization of in-memory data pages.
The following table lists the different latch waittypes that's the notice in the master.dbo.sysprocesses syste m table in SQL Server and SQL Server 2005.
| lastwaittype |
Waittype |
Description |
| Latch_nl |
0x400 |
Null latch |
| Latch_kp |
0x401 |
Keep latch |
| Latch_sh |
0x402 |
Shared latch |
| Latch_up |
0x403 |
Update latch |
| Latch_ex |
0x404 |
Exclusive latch |
| Latch_dt |
0x405 |
Destroy latch |
| Pagelatch_nl |
0x410 |
Null buffer page latch |
| Pagelatch_kp |
0x411 |
Keep buffer page latch |
| Pagelatch_sh |
0x412 |
Shared buffer page latch |
| Pagelatch_up |
0x413 |
Update buffer page latch |
| Pagelatch_ex |
0x414 |
Exclusive buffer page latch |
| Pagelatch_dt |
0x415 |
Destroy buffer page latch |
| Pageiolatch_nl |
0x420 |
Null buffer page I/O latch |
| Pageiolatch_kp |
0x421 |
Keep buffer page I/O latch |
| Pageiolatch_sh |
0x422 |
Shared buffer page I/O latch |
| Pageiolatch_up |
0x423 |
Update buffer page I/O latch |
| Pageiolatch_ex |
0x424 |
Exclusive buffer page I/O latch |
| Pageiolatch_dt |
0x425 |
Destroy buffer page I/O latch |
Original: https://support.microsoft.com/en-us/kb/822101
Go LATCH waittypes