Microsoft KB Archive/324176

From BetaArchive Wiki
Knowledge Base


DOC: BOL: Implicit Cursor Conversion Table Incorrectly States You Must Have Covered Index for a Dynamic Cursor with an ORDER BY Clause

Article ID: 324176

Article Last Modified on 9/25/2003



APPLIES TO

  • Microsoft SQL Server 2000 Standard Edition



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.


STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000.

Keywords: kbbug kbpending KB324176