BUG: Unhandled Exception in SQL Server Using Keyset CursorsLast reviewed: April 16, 1997Article ID: Q166233 |
The information in this article applies to
SYMPTOMSSQL Server seems to stop responding and becomes unresponsive when running cursor queries that require keyset cursors. The errorlog indicates an access violation (AV) and the following error:
closetable: table already closed for sdes '%*.d'There is no message in the errorlog about SQL Server being shut down. The client receives the following error:
Error 10037 Unexpected EOF from SQL Server. Connection broken. CAUSESQL Server version 6.5 introduced the asynchronous generation of keysets for keyset cursors, using "subprocess." The optimizer decides the number of records in the result set based on the statistics information, and if this number is within the cursor threshold, the keyset values are generated synchronously. When this number exceeds the "cursor threshold" setting, it uses asynchronous generation of keysets by forking a "subprocess" to populate the keyset cursor. When the subprocess completes, it closes itself and while doing so, it generates an access violation that is not completely handled.
WORKAROUNDTo work around this problem, either set the "cursor threshold" configuration parameter to a higher value, or set it to the default setting of -1 (all cursors will be generated synchronously). Running update statistics to have latest distribution information may help the optimizer determine the result set more accurately.
STATUSMicrosoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. If any replication-related process runs into the above scenario, Sqlexec.exe also generates an unhandled exception error before Sqlservr.exe. Otherwise, if the SQLExecutive service is set to restart the MSSQLServer service, the service will be restarted and the client gets the following error message:
Unexpected EOF from SQL Server. Connection Broken.If the server is restarted automatically by SQLExecutive service, errorlog.1 will contain the above information.
|
Additional query words: GPF terminate die hang freeze lock
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |