BUG: Concurrent Async Keyset Cursors May Cause Server to Stop Responding (226191)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q226191
BUG #: 55020 (SQLBUG_70)

SYMPTOMS

If all worker threads in SQL Server are executing commands for keyset cursors that are being populated asynchronously, the server stops responding. The server then will not allow any new connections or other existing queries to execute.

WORKAROUND

Disable asynchronous keyset cursors by changing the cursor threshold configuration value to -1 (which is the default) or reduce the number of concurrent users executing asynchronous keyset cursors.

This problem is addressed by detecting that all the worker threads for SQL Server are consumed by async keyset cursor population. If the following message is written to the ERRORLOG:
Possible thread starvation detected!
It is possible that too many threads are attempting to populate keysets for cursors. If you encounter this message, change the 'cursor threshold' configuration value to -1 (to avoid async keyset population) or reduce the number of users concurrently opening keyset cursors.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0.

Modification Type:MajorLast Reviewed:10/16/2002
Keywords:kbBug KB226191