845: Time-out occurred while waiting for buffer latch
SQL Server의미
데이터 페이지의 buffer latch를 기다리는 중 타임아웃이 발생했다. SQL Server가 페이지 접근에 필요한 짧은 내부 락(latch)을 적절한 시간 안에 획득하지 못했다. 대개 과도한 I/O 또는 메모리 압박의 징후이다.
원인
느리거나 과부하된 디스크 서브시스템, 메모리 압박으로 페이지를 계속 디스크에서 읽음, 하드웨어 문제, 과도한 paging, 또는 스토리지 병목.
해결 방법
디스크 I/O 지연을 측정한다(sys.dm_io_virtual_file_stats, Perfmon disk latency). 스토리지 성능과 하드웨어 상태를 확인한다. 메모리 충분성과 max server memory 설정을 검토한다. wait type을 확인한다(sys.dm_os_wait_stats, PAGEIOLATCH 대기). 스토리지 병목을 제거하고 필요하면 더 빠른 디스크/더 많은 RAM을 확보한다.
같은 데이터베이스의 다른 항목
- 823The operating system returned error to SQL Server during a read/write at offset in file (I/O error)
- 824SQL Server detected a logical consistency-based I/O error (page corruption)
- 701There is insufficient system memory in resource pool to run this query
- 3201Cannot open backup device. Operating system error (backup device error)
- 8134Divide by zero error encountered
- 245Conversion failed when converting the value to data type
- 515Cannot insert the value NULL into column