DBAtlas · 데이터베이스 운영 아틀라스

601: Could not continue scan with NOLOCK due to data movement (데이터 이동으로 NOLOCK 스캔을 계속할 수 없음)

SQL Server

의미

NOLOCK(READ UNCOMMITTED) 스캔 중 동시 데이터 이동(페이지 분할/이동)으로 인해 스캔을 계속할 수 없었다. 락 없는 읽기가 일관되지 않은 상태에 도달했다.

원인

NOLOCK 힌트 또는 READ UNCOMMITTED 격리 수준으로 읽는 동안 동시 업데이트/삭제/페이지 분할로 스캔 대상 페이지가 재배치됨.

해결 방법

쿼리를 다시 실행한다(대개 일시적이다). 가능하면 NOLOCK 힌트를 피하고, 차단 없이 일관된 읽기를 위해 READ COMMITTED SNAPSHOT(RCSI) 격리를 사용한다. 쓰기가 많은 테이블에서는 더티 리드보다 스냅샷 격리를 우선한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목