FIX: Stranded Compile Time Table Created by a Failed SELECT INTO Statement

ID: Q174443


The information in this article applies to:

BUG #: 16819 (SQLBUG_6.5)

SYMPTOMS

If you perform a SELECT INTO statement using an "index = <index name>" optimizer hint where <index name> is not a valid index name, an unusable destination table will be created. This destination table cannot be dropped by using a DROP TABLE statement.


WORKAROUND

To resolve this problem, install SQL Server 6.5 Service Pack 3 or later.


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.5. This problem has been corrected in U.S. Service Pack for Microsoft SQL Server version 6.5. For information about downloading and installing the latest SQL Server Service Pack, see http://support.microsoft.com/support/sql/.

For more information, contact your primary support provider.


MORE INFORMATION

The SELECT INTO statement mentioned above will return the following error:

Msg 308, Level 16, State 1
Index '<Index Name>' on table '<Table Name>' (specified in the FROM clause) does not exist.

Subsequent SELECT INTO statements fail because the table exists in the database's system catalogs.

A search of the sysobjects table will show the table name with a sysstat = 195. Attempting to drop the table with a DROP TABLE <table name> statement returns the following message:
Msg 3701, Level 11, State 1
Cannot drop the table 'B', because it doesn't exist in the system catalogs.

A DBCC CHECKTABLE('<table name>') statement returns the following message:
Msg 2501, Level 16, State 2
Table named b not found; check Sysobjects

Additional query words: command sp sp1 sp2 sp3


Keywords          : kbusage SSrvTran_SQL kbbug6.50 kbfix6.50.sp3 
Version           : winnt:6.5
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: February 10, 1999