Friday, February 13, 2009

Query with transaction isolation level set to READ UNCOMMITTED fails with error 601

When a query runs with its transaction isolation level set to READ UNCOMMITTED, SQL Server 2000 aborts the query and returns the following error message:
Server:
Msg 601, Level 12, State 3, Line 14 Could not continue scan with NOLOCK due to data movement.
COUSE:
This behavior may occur when a row in a table is deleted between the time SQL Server reads the location of the row from an index and the time SQL Server fetches the row.

RESOLUTION:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

You can run the following query in Query Analyzer to dynamically turn on the trace flag:

DBCC TRACEON (9134, -1)

No comments: