601: Could not continue scan with NOLOCK due to data movement (Scan mit NOLOCK wegen Datenbewegung abgebrochen)
SQL ServerWas bedeutet das?
Bei einem Scan mit NOLOCK (READ UNCOMMITTED) konnte der Scan wegen paralleler Datenbewegung (Page Splits/Verschiebungen) nicht fortgesetzt werden. Das sperrfreie Lesen ist auf einen inkonsistenten Zustand gestoßen.
Ursache
Gescannte Seiten werden beim Lesen mit dem Hint NOLOCK oder der Isolationsstufe READ UNCOMMITTED durch parallele Updates/Deletes/Page Splits verschoben.
Lösung
Führe die Abfrage erneut aus (meist transient). Vermeide nach Möglichkeit den Hint NOLOCK; verwende die Isolation READ COMMITTED SNAPSHOT (RCSI) für nicht blockierende und dennoch konsistente Lesevorgänge. Bevorzuge auf schreibintensiven Tabellen Snapshot Isolation gegenüber Dirty Reads.
Weitere Einträge zu dieser Datenbank
- 8623The query processor ran out of internal resources and could not produce a query plan (Query Processor ohne interne Ressourcen; kein Abfrageplan)
- 4104The multi-part identifier could not be bound (mehrteiliger Identifier nicht bindbar)
- 2714There is already an object named in the database (Objekt mit diesem Namen existiert bereits)
- 50000Mit RAISERROR ausgelöster benutzerdefinierter Fehler
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (COMMIT ohne zugehöriges BEGIN TRANSACTION)
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3729Cannot DROP because it is being referenced by object