Korzystamy z programu SQL Server 2000 i co wieczór otrzymujemy kilka takich błędów.
Could not continue scan with NOLOCK due to data movement
Zapytanie zgłaszające ten błąd jest dużym złożonym zapytaniem, które łączy kilkanaście tabel. Nasze podstawowe dane mogą być często aktualizowane.
Kulturowa „najlepsza praktyka” polega na tym, że w przeszłości wprowadzanie NOLOCK
wskazówek zwiększyło wydajność i poprawiło współbieżność. To zapytanie nie musi być w 100% dokładne, tzn. Będziemy tolerować nieczytelne odczyty itp. Jednak staramy się zrozumieć, dlaczego baza danych generuje ten błąd, mimo że mamy wszystkie te wskazówki blokujące.
Czy ktoś może rzucić na to trochę światła - bądź łagodny, właściwie jestem programistą, a nie DBA :)
PS: Zastosowaliśmy poprawkę wymienioną wcześniej: http://support.microsoft.com/kb/815008