SQL Server 2000を実行していると、これらのエラーのいくつかが毎晩発生します。
Could not continue scan with NOLOCK due to data movement
このエラーをスローするクエリは、1ダースを超えるテーブルを結合する大きく複雑なクエリです。基礎となるデータは頻繁に更新できます。
文化的な「ベストプラクティス」は、過去にNOLOCK
ヒントを導入することでパフォーマンスが向上し、同時実行性が向上したことです。このクエリは100%正確である必要はありません。つまり、ダーティリードなどを許容します。しかし、これらすべてのロックヒントがあるにもかかわらず、データベースがこのエラーをスローする理由を理解するのに苦労しています。
誰もがこれにいくつかの光を当てることができます-穏やかに、私は実際にはプログラマーであり、DBAではありません:)
PS:以下の修正を以前に適用しました:http : //support.microsoft.com/kb/815008