FIX: Updates That Run at a Read Uncommitted Isolation Level Fail with a 644 Error Message

This article was previously published under Q328736
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 361918 (SHILOH_BUGS)
SYMPTOMS
An update statement may fail, and you receive this 644 error message
Error: 644, Severity: 21, State: 6
Could not find the index entry for RID '16ffffffff97a220200' in index page (1:9220), index ID 0, database 'xyz'..
when both of the following conditions are met:

  • A query is running under the Read Uncommitted isolation level.

    -and-
  • The query plan contains a sort or spool operator between the update operator and the seek or scan operator on the base table.
RESOLUTION
To resolve this problem, obtain the latest service pack For Microsoft SQL Server 2000. For additional information, click the following article number To view the article In the Microsoft Knowledge Base:
290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack
NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date        Time    Version     Size       File name   --------------------------------------------------------   8/30/2002   17:46   8.00.0680   7,293 KB   Sqlservr.exe
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


WORKAROUND
To work around this behavior, use the default isolation level (Read Committed) during updates.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected In Microsoft SQL Server 2000 Service Pack 3.
MORE INFORMATION

Here is a list of the methods that you can use to view a query plan:
  • From Query Analyzer, run the following command:
    SET SHOWPLAN_ALL ONGO-- Now run the Update query in questionSET SHOWPLAN_ALL OFFGO
  • From Query Analyzer, run the following command:
    SET STATISTICS PROFILE ONGO-- Now run the Update query in questionSET STATISTICS PROFILE OFFGO
  • Add the following event to a default profiler trace definition file:
    Performance -> Show Plan Statistics
Read Uncommitted 644 Update operator Query Plan Spool Scan Seek
Properties

Article ID: 328736 - Last Review: 01/17/2015 06:03:30 - Revision: 5.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix kbsqlserv2000presp3fix kbsqlserv2000sp3fix KB328736
Feedback