BUG: Unhandled Exception in SQL Server Using Keyset CursorsID: Q166233
|
SQL Server seems to stop responding and becomes unresponsive when running
cursor queries that require keyset cursors. The error log indicates an
access violation (AV) and the following error:
closetable: table already closed for sdes '%*.d'
Error 10037 Unexpected EOF from SQL Server. Connection broken.
SQL Server 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.
To 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). Also, running UPDATE STATISTICS to have latest distribution information may help the optimizer determine the result set more accurately.
Microsoft has confirmed this to be a problem in SQL Server version 6.5.
Additional query words: errorlog sync synch async asynch hang hangs hung GPF terminate die freeze lock
Keywords : SSrvGPF SSrvRep kbbug6.50
Version : winnt:6.5
Platform : winnt
Issue type : kbbug
Last Reviewed: February 10, 1999