601: Could not continue scan with NOLOCK due to data movement
SQL ServerWhat does it mean?
During a scan with NOLOCK (READ UNCOMMITTED), the scan could not continue because of concurrent data movement (page splits/moves). The lock-free read hit an inconsistent state.
Why does it happen?
Scanned pages being relocated by concurrent updates/deletes/page splits while reading under the NOLOCK hint or the READ UNCOMMITTED isolation level.
How to fix it
Rerun the query (it is usually transient). Avoid the NOLOCK hint where possible; use READ COMMITTED SNAPSHOT (RCSI) isolation for non-blocking yet consistent reads. On write-heavy tables, prefer snapshot isolation over dirty reads.
More from this engine
- 8623The query processor ran out of internal resources and could not produce a query plan
- 4104The multi-part identifier could not be bound
- 2714There is already an object named in the database
- 50000Custom error raised with RAISERROR
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3729Cannot DROP because it is being referenced by object