Executamos o SQL Server 2000 e obtemos alguns desses erros todas as noites.
Could not continue scan with NOLOCK due to data movement
A consulta que gera esse erro é uma consulta complexa grande que une mais de uma dúzia de tabelas. Nossos dados subjacentes podem ser atualizados com freqüência.
A 'melhor prática' cultural é que, no passado, a introdução de NOLOCK
dicas aumentava o desempenho e melhorava a simultaneidade. Essa consulta não precisa ser 100% precisa, ou seja, toleraremos leituras sujas etc. No entanto, estamos lutando para entender por que o banco de dados está lançando esse erro, mesmo que tenhamos todas essas dicas de bloqueio.
Alguém pode lançar alguma luz sobre isso - seja gentil, sou na verdade um programador, não um DBA :)
PS: aplicamos a correção mencionada abaixo anteriormente: http://support.microsoft.com/kb/815008