PRB: Server May Stop Responding or Get an AV w/ Low Open Objects

Last reviewed: March 5, 1998
Article ID: Q181563
The information in this article applies to:
  • Microsoft SQL Server, version 6.5

SYMPTOMS

SAP SQL Servers may experience any of the following symptoms if the 'open objects' configuration value for SQL Server is set too low:

  • Access violations.
  • SQL Server stops responding while operating under normal production.
  • SQL Server stops responding while doing DBCC CHECKDB().

CAUSE

The cause of the access violations and when SQL Server stops responding while the server is operating under normal production is believed to occur as a result of one or both of the following two known bugs:

   BUG 17420, Concurrent Insert w/ Open Object Reuse May Cause Hang
   BUG 17338, Problems with Server Cursors on a Stored Procedure

For more information on these bugs, see the articles in the Microsoft Knowledge Base listed in the MORE INFORMATION section of this article.

As of the writing of this article, a bug has not yet been filed for the third condition, when SQL Server stops responding while running a DBCC statement. However, it has been observed that an overlapping execution of DBCC CHECKCATALOG() will often aggravate this problem, if not serve as the catalyst for it to arise.

WORKAROUND

Generally, in advising a configuration setting for the 'open objects' configuration option, it is suggested that you find the sum total of all objects in the sysobjects tables for each database on the server, and set the 'open objects' parameter to at least that value. By default, the 31H Kernel sets the 'open objects' configuration value to 50,000 during SAP installation. Due to the heavy use of temporary objects by the SAP application, the configuration value for 'open objects' should be set to at least twice the sum of the total objects in all user databases, or 50,000, whichever is higher.

Additionally, if cursors are known to be in use on the server, enable Trace Flag 7502 for SQL Server.

To avoid the condition where SQL Server stops responding while running a DBCC statement, execute DBCC CHECKCATLOG() either before or after DBCC CHECKDB(), but do not start DBCC CHECKCATALOG() at the same time as DBCC CHECKDB(), nor while DBCC CHECKDB() is running.

MORE INFORMATION

For more information on Bug 17420, see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q178296
   TITLE     : BUG: Concurrent Insert w/ Open Object Reuse May Cause Hang

For more information on Bug 17338, see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q175126
   TITLE     : BUG: Problems with Server Cursors on a Stored Procedure


Additional query words: AV AVs hang hangs hung freeze freezes frozen lock
locks locked up crash crashes crashed fail fails failed failure
Keywords : SSrvAdmin
Version : WINNT:6.5
Platform : winnt
Issue type : kbprb


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 5, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.