FIX: Full Memory and Cursors Cause AVs, 707, 706, and SpinsID: Q153961
|
A user application that uses engine side cursors in a stored procedure can
cause a myriad of problems when available SQL Server system memory becomes
full. Usually it starts with error 707:
System error detected during attempt to free memory at address 0x%1x. Please consult the SQL Server error log for more details.
Process %d tried to remove PROC_HDR 0x%lx that it does not hold in Pss.
When the SQL Server procedure cache needs to swap out a stored procedure it can incorrectly deallocate the procedure twice. This can cause a memory leak as well as the access violations. This will only occur if the stored procedure is using engine side cursors.
Increasing the amount of procedure cache available to SQL Server will reduce the chance of the problem occurring. This can be accomplished by giving SQL Server more memory to use, or by increasing the procedure cache using sp_configure.
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.
Additional query words: sp1
Keywords : kbnetwork SSrvStProc kbbug6.50 kbfix6.50.sp1
Version : 6.5
Platform : WINDOWS
Issue type :
Last Reviewed: April 1, 1999