DBAtlas · Atlas d'exploitation des bases de données

601: Could not continue scan with NOLOCK due to data movement (poursuite du parcours NOLOCK impossible en raison d'un déplacement de données)

SQL Server

Que signifie cette erreur ?

Lors d'un parcours avec NOLOCK (READ UNCOMMITTED), le parcours n'a pas pu continuer en raison d'un déplacement concurrent de données (fractionnements/déplacements de pages). La lecture sans verrou a rencontré un état incohérent.

Cause

Pages parcourues déplacées par des mises à jour/suppressions/fractionnements de pages concurrents lors d'une lecture sous le hint NOLOCK ou le niveau d'isolation READ UNCOMMITTED.

Comment la corriger

Relancez la requête (c'est généralement transitoire). Évitez le hint NOLOCK dans la mesure du possible ; utilisez l'isolation READ COMMITTED SNAPSHOT (RCSI) pour des lectures non bloquantes mais cohérentes. Sur les tables à forte charge d'écriture, privilégiez l'isolation snapshot aux lectures sales (dirty reads).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur