601: Could not continue scan with NOLOCK due to data movement (no se pudo continuar el recorrido con NOLOCK por movimiento de datos)
SQL Server¿Qué significa?
Durante un recorrido con NOLOCK (READ UNCOMMITTED), el recorrido no pudo continuar por un movimiento de datos concurrente (page splits/movimientos). La lectura sin bloqueos llegó a un estado inconsistente.
¿Por qué ocurre?
Páginas recorridas que se reubican por actualizaciones/eliminaciones/page splits concurrentes mientras se lee con el hint NOLOCK o el nivel de aislamiento READ UNCOMMITTED.
Cómo solucionarlo
Vuelva a ejecutar la consulta (suele ser transitorio). Evite el hint NOLOCK cuando sea posible; use el aislamiento READ COMMITTED SNAPSHOT (RCSI) para lecturas no bloqueantes y a la vez consistentes. En tablas con muchas escrituras, prefiera snapshot isolation a las lecturas sucias.
Más entradas de este motor
- 8623The query processor ran out of internal resources and could not produce a query plan (el procesador de consultas no pudo generar un plan)
- 4104The multi-part identifier could not be bound (no se pudo vincular el identificador de varias partes)
- 2714There is already an object named in the database (ya existe un objeto con ese nombre en la base de datos)
- 50000Error personalizado generado con RAISERROR
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (COMMIT TRANSACTION sin BEGIN TRANSACTION correspondiente)
- 1101Could not allocate a new page because of insufficient disk space in filegroup (no se pudo asignar una nueva página por falta de espacio en disco en el filegroup)
- 3729Cannot DROP because it is being referenced by object (no se puede eliminar porque otro objeto lo referencia)