FIX: Keyset Cursor Fetches Same Row Repeatedly

This article was previously published under Q274811
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 57997 (SQLBUG_70)
If a keyset cursor is declared on a table, the cursor may fetch the same row repeatedly. This problem occurs if both of the following conditions are true:
  • The table contains a foreign key constraint.

  • A column that makes up the keys of that foreign key constraint is updated through the cursor.
The problem applies to all keyset server side cursors (both Transact-SQL and API server keyset cursors).

The client application opening the cursor may appear to stop responding (hang) or loop forever, returning the same record.
To work around this problem, either remove the foreign key constraint on the table or consider using a dynamic or client side cursor (or no cursor).
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.

Article ID: 274811 - Last Review: 10/21/2013 01:58:52 - Revision: 2.1

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbbug kbfix KB274811