FIX: Error 701/Server Unresponsive on Cursor Queries w/UPDATE

ID: Q158486


The information in this article applies to:


BUG #: 15553 (Windows NT: 6.0)
       15624 (6.5) 

SYMPTOMS

When you run cursor queries that do an UPDATE using the WHERE CURRENT OF <cursor> clause, the server runs out of memory, even though the cursors are closed properly. This leads to the following error message (701):

There is insufficient system memory to run this query.

After that, the server becomes very slow for normal connections.


CAUSE

Cursor operations that do an UPDATE using the WHERE CURRENT OF <cursor> cause a memory leak. One page of memory allocated on each call is not reclaimed until the connection is dropped.


WORKAROUND

To work around this problem, do either of the following:


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server versions 6.0 and 6.5. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.


MORE INFORMATION

The server eventually comes to a very slow, unusable state from which it must be recycled.

The following is additional information for SQL Server version 6.5:

If SQLTrace is running, no new connections to the server are possible.

The following is additional information for SQL Server version 6.0:
The error 701 sometimes leads to a handled access violation (AV).


Additional query words: cursors memory leak av


Keywords          : kbprg SSrvProg kbbug6.50 kbbug6.00 kbfix6.50.sp2 
Version           : 6.0 6.5
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: April 4, 1999