Microsoft KB Archive/93415

{|
 * width="100%"|

The information in this article applies to:
 * Microsoft SQL Server version 4.2a for OS/2

BUG# OS/2: 1503 (4.2)

SYMPTOMS
In SQL Server 4.2a with strict 1.1x case insensitive sort order, loading a previously dumped 4.2a database may still give the following 3121 warning message:

The %sCLUSTERED index %s.%s (objid=%id,indid=%d) may be invalid since it uses CHAR or VARCHAR columns in its key, and was created under a different sort order ID (%d) than the one current running on  the server (%d). This will occur under the following conditions:  The database was initially loaded from a compatible 1.1x dump using the documented method (that is, DBCC allow11load before the load, and DBCC CHECKDB after the load) and The database contains EMPTY tables with nonclustered indexes on certain varchar columns.

CAUSE
SQL Server incorrectly checks the sorting information when the 1.1x dump is first loaded into SQL Server 4.2a, if the tables involved are empty.

DBCC CHECKDB on this database after the 1.1x load usually shows 7947 messages against those tables with nonclustered index on varchar column(s):

The sortorder and character set ID's for index %d on this table were %d:%d in sysindexes. They have been corrected to %d:%d. However, if the table is empty, DBCC CHECKDB does not catch the sort order information in the sysindexes table as it should, and therefore it is not corrected. If you dump the 4.2a database subsequently, the sort order information is kept there, and when you later load it, it will trigger the 3121 warning message again.

WORKAROUND
The workaround is to drop and recreate the indexes on those empty tables.

STATUS
Microsoft has confirmed this to be a problem in SQL Server version 4.2a for OS/2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
 * }

-

Last reviewed: May 5, 1997

© 1998 Microsoft Corporation. All rights reserved. Terms of Use.