Wir führen SQL Server 2000 aus und erhalten jede Nacht einige dieser Fehler.
Could not continue scan with NOLOCK due to data movement
Die Abfrage, die diesen Fehler auslöst, ist eine große komplexe Abfrage, die über ein Dutzend Tabellen verknüpft. Unsere zugrunde liegenden Daten können häufig aktualisiert werden.
Die kulturelle „Best Practice“ besteht darin, dass in der Vergangenheit durch die Einführung von NOLOCK
Hinweisen die Leistung gesteigert und die Parallelität verbessert wurde. Diese Abfrage muss nicht 100% genau sein, dh wir tolerieren Dirty Reads usw. Wir haben jedoch Schwierigkeiten zu verstehen, warum die Datenbank diesen Fehler auslöst, obwohl wir alle diese Sperrhinweise haben.
Kann jemand etwas Licht ins Dunkel bringen - sei sanft, ich bin eigentlich ein Programmierer, kein DBA :)
PS: Wir haben den unten genannten Fix angewendet: http://support.microsoft.com/kb/815008