DOC: BOL: Implicit Cursor Conversion Table Incorrectly States You Must Have Covered Index for a Dynamic Cursor with an ORDER BY Clause (324176)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
This article was previously published under Q324176
BUG #: 359297 (SHILOH_BUGS)
SUMMARY
The "Implicit Cursor Conversions" topic in SQL Server Books Online references a table that details the steps that SQL Server takes when the requested cursor type cannot be satisfied.
In step 8, the "Conversions triggered by" column states that a covered index must be defined on the ORDER BY clause of the query to avoid conversion from a dynamic to a keyset cursor. The detailed explanation in the Conversion Triggered By cell states:
Query generates an internal work table, for example the columns of an ORDER BY are not covered by an index.
This implies that you must have a covered index to avoid converting to a keyset cursor. In this context, a covered index is one that contains all of the columns referenced on the ORDER BY clause.
This is incorrect. So long as the query processor can find a plan that satisfies the dynamic cursor, implicit conversion will not take place to a keyset. STATUSMicrosoft has confirmed that this is a problem in SQL Server 2000.
Modification Type: | Major | Last Reviewed: | 9/25/2003 |
---|
Keywords: | kbbug kbpending KB324176 |
---|
|