BUG: sqlcursorfetch AVs on Select w/ "Order By," No Join

ID: Q153920


The information in this article applies to:


SYMPTOMS

The use of the FETCH operation on a cursor to select from multiple tables, including sysobjects table, with no join and using an "order by" clause causes a handled access violation (AV).


WORKAROUND

In most application environments, this is not a problem since the system table sysobjects is not involved in user queries. In cases where sysobjects is involved, avoid using extraneous tables in select statements, especially those involving cursor operations. It is generally a sound programming practice to include in select statements only the tables actually involved in the statement.


STATUS

Microsoft 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.


MORE INFORMATION

The AV happens during the FETCH operation.

The following conditions have to be true for the AV to occur:

  1. The column list selected should include at least 1 column from sysobjects


  2. The table "sysobjects" should be included in the FROM clause. The other tables in the from clause can be system tables or user tables.


  3. The query should involve an "order by" clause.


  4. No join should be done. The where clause seems to be immaterial, and the AV occurs whether or not a where clause is involved.



Additional query words: server av terminate


Keywords          : kbbug6.50 
Version           : 6.5
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 31, 1999