FIX: DBCC INDEXDEFRAG May Cause an Assertion Failure If the Index Includes Variable-Length Columns (324630)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q324630
BUG #: 356738 (SHILOH_BUGS)

SYMPTOMS

When you run the DBCC INDEXDEFRAG reference on an index that includes one or more variable-length columns, you may receive the following error message:
Server: Msg 3624, Level 20, State 1, Line 1
Location: pageref.cpp:1191
Expression: 0 == pageFull
SPID: 51
Process ID: 1676
Connection Broken
You also see the following stack dump and assertion in the SQL Server Errorlog file (if you are using build 8.00.608):
-------------------------------------------------------------------------------
Short Stack Dump
0086F0D8 Module(sqlservr+0046F0D8) (CStackDump::GetContextAndDump+0000002E)
00870B04 Module(sqlservr+00470B04) (stackTrace+0000021D)
00926381 Module(sqlservr+00526381) (utassert_fail+000002E3)
0083F8B7 Module(sqlservr+0043F8B7) (PageRef::InsertRows+00000173)
00415C65 Module(sqlservr+00015C65) (PageRef::InsertRow+00000075)
008059A0 Module(sqlservr+004059A0) (MoveRowLeftUnderSystemXact+00000156)
008ED9EC Module(sqlservr+004ED9EC) (IndexDefrag::FillFactor+00000363)
008ED07D Module(sqlservr+004ED07D) (IndexDefrag::Defragment+000003A6)
008ECB45 Module(sqlservr+004ECB45) (DbccIndexDefrag+00000045)
005F394E Module(sqlservr+001F394E) (CStmtDbcc::XretExecute+00000B6C)
004120D6 Module(sqlservr+000120D6) (CMsqlExecContext::ExecuteStmts+000002D9)
004117CA Module(sqlservr+000117CA) (CMsqlExecContext::Execute+000001B6)
004111F0 Module(sqlservr+000111F0) (CSQLSource::Execute+00000331)
0044C0F8 Module(sqlservr+0004C0F8) (language_exec+000003E1)
004123BD Module(sqlservr+000123BD) (process_commands+000000EC)
41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)
41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)
7800A27B Module(MSVCRT+0000A27B) (_unDNameEx+0000484C)
77E8758A Module(KERNEL32+0000758A) (BaseThreadStart+00000052)
-------------------------------------------------------------------------------
2002-06-16 06:51:17.56 spid51    SQL Server Assertion: File: <pageref.cpp>, line=1191 
Failed Assertion = '0 == pageFull'.
2002-06-16 06:51:17.58 spid51    Error: 3624, Severity: 20, State: 1.
				

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack

NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time     Version        Size             File name
   -------------------------------------------------------------------

   17-JUN-2002  8:20:38  2000.80.646.0  7,454,801 bytes  Sqlservr.exe
				
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.

MORE INFORMATION

If a table has a clustered index, the nonclustered indexes store the clustered index keys as their row locators. Therefore, if a clustered index includes variable-length columns, all the nonclustered indexes on the same table also include variable-length columns. For more information about nonclustered indexes, refer to the "Nonclustered Indexes" topic in SQL Server Books Online.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix kbSQLServ2000preSP3fix KB324630