Ми запускаємо SQL Server 2000, і ми отримуємо кілька таких помилок щовечора.
Could not continue scan with NOLOCK due to data movement
Запит, який видає цю помилку, - це великий складний запит, який об'єднується у десяток таблиць. Наші основні дані можна часто оновлювати.
Культурна "найкраща практика" полягає в тому, що в минулому впровадження NOLOCK
натяків на підвищення продуктивності та підвищення конкурентоспроможності. Цей запит не повинен бути на 100% точним, тобто ми будемо терпіти брудні читання тощо. Однак ми намагаємось зрозуміти, чому база даних кидає цю помилку, хоча ми маємо всі ці підказки щодо блокування.
Хтось може пролити щось на це - будь ласка, я насправді програміст, а не DBA :)
PS: Ми раніше застосували вказане нижче виправлення: http://support.microsoft.com/kb/815008