Microsoft KB Archive/885290

= FIX: An assertion error occurs when you insert data in the same row in a table by using multiple connections to an instance of SQL Server =

Article ID: 885290

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Workgroup Edition
 * Microsoft SQL Server 2000 Desktop Engine (Windows)
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-



Bug #: 354812 (SQL Server 8.0)



Article contents

 * Summary
 * Symptoms
 * Cause
 * Resolution
 * Service pack information
 * Hotfix information
 * Prerequisites
 * Restart information
 * Hotfix file information
 * Workaround
 * Status
 * More Information
 * Stack information



SUMMARY
This article describes the following about this hotfix release:
 * The issues that are fixed by this hotfix package.
 * The prerequisites for installing the hotfix package.
 * Whether you must restart your computer after you install the hotfix package.
 * Whether the hotfix package is replaced by any other hotfix package.
 * Whether you must make any registry changes.
 * The files that are contained in the hotfix package.

back to the top



SYMPTOMS
When you try to insert data in a row in a table by using multiple connections to an instance of Microsoft SQL Server, you may receive the following assertion error message in the SQL Server error log:

2001-06-18 21:33:32.87 spid55 SQL Server Assertion: File: , line=571

Failed Assertion = 'sdesP->m_pIndex->indindid == CLUSTIND'.

2001-06-18 21:33:32.90 spid55 Error: 3624, Severity: 20, State: 1.

This problem occurs if all the following conditions are true:
 * The data that you try to insert is the same data as in at least one of the columns in the row.
 * In the table, a non-clustered index is defined on the column where you insert the same data.
 * This non-clustered index is created by using the IGNORE_DUP_KEY option.

For more information about previous hotfixes, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

back to the top



CAUSE
This problem occurs because the row that you insert is inserted in the last row on an index page.

back to the top



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

290211 How to obtain the latest SQL Server 2000 service pack

Prerequisites
This hotfix requires Microsoft SQL Server 2000 Service Pack 3 (SP3).

For more information about how to obtain SQL Server 2000 Service Pack 3, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

back to the top

Restart information
You do not have to restart your computer after you apply this hotfix.

back to the top

Hotfix file information
This hotfix contains only those files that are required to correct the issues that this article lists. This hotfix may not contain all the files that you must have to fully update a product to the latest build.

The English version of this hotfix has the file attributes (or later file attributes) 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 23-Aug-2004 14:15  2000.80.972.0     664,128  Autoplt.dll 23-Aug-2004 14:15  2000.80.972.0      78,400  Console.exe 23-Aug-2004 14:15  2000.80.972.0     332,352  Ctasksui.dll 23-Aug-2004 14:15  2000.80.972.0     315,968  Custtask.dll 23-Aug-2004 14:15  2000.80.972.0      33,340  Dbmslpcn.dll 08-Apr-2004 09:12                    786,432  Distmdl.ldf 08-Apr-2004 09:12                  2,359,296  Distmdl.mdf 10-Oct-2003 06:18                        180  Drop_repl_hotfix.sql 23-Aug-2004 14:15  2000.80.972.0   1,905,216  Dtspkg.dll 23-Aug-2004 14:15  2000.80.972.0     528,960  Dtspump.dll 23-Aug-2004 14:15  2000.80.972.0   1,557,052  Dtsui.dll 23-Aug-2004 14:15  2000.80.972.0     639,552  Dtswiz.dll 10-Oct-2003 06:18                    747,927  Instdist.sql 10-Oct-2003 06:18                      1,581  Inst_repl_hotfix.sql 23-Aug-2004 14:15  2000.80.972.0     352,828  Isqlw.exe 23-Aug-2004 14:15  2000.80.972.0      82,492  Itwiz.exe 23-Aug-2004 14:15  2000.80.972.0      90,692  Msgprox.dll 19-May-2004 11:13  8.11.40209.0      209,408  Mssdi98.dll 23-Aug-2004 14:15  2000.80.972.0      62,024  Odsole70.dll 23-Aug-2004 14:16  2000.80.972.0      25,144  Opends60.dll 23-Aug-2004 14:15  2000.80.972.0      57,904  Osql.exe 23-Aug-2004 14:15  2000.80.972.0     279,104  Pfutil80.dll 10-Oct-2003 06:07                    550,780  Procsyst.sql 08-Apr-2004 09:12                     12,305  Qfe469315.sql 08-Apr-2004 09:12                     19,195  Qfe469571.sql 17-Aug-2004 11:57                      5,155  Qfe472197.sql 23-Aug-2004 14:15  2000.80.972.0     143,940  Qrdrsvc.exe 23-Aug-2004 14:43                  1,105,167  Replmerg.sql 23-Aug-2004 14:15  2000.80.972.0     221,768  Replprov.dll 23-Aug-2004 14:15  2000.80.972.0     307,784  Replrec.dll 23-Aug-2004 13:05  2000.80.972.0     159,813  Replres.rll 17-Aug-2004 11:57                  1,086,925  Replsys.sql 10-Oct-2003 06:18                    986,603  Repltran.sql 23-Aug-2004 14:15  2000.80.972.0     287,304  Rinitcom.dll 23-Aug-2004 14:15  2000.80.972.0      78,416  Sdiclnt.dll 23-Aug-2004 14:15  2000.80.972.0      66,112  Semmap.dll 23-Aug-2004 14:15  2000.80.972.0      57,916  Semnt.dll 23-Aug-2004 14:15  2000.80.972.0     492,096  Semobj.dll 23-Aug-2004 13:41  2000.80.972.0     172,032  Semobj.rll 23-Aug-2004 14:15  2000.80.972.0      53,832  Snapshot.exe 13-Jul-2004 08:29                    117,834  Sp3_serv_uni.sql 23-Aug-2004 14:14  2000.80.972.0      28,672  Sqlagent.dll 23-Aug-2004 14:15  2000.80.972.0     311,872  Sqlagent.exe 23-Aug-2004 14:14  2000.80.972.0     168,001  Sqlakw32.dll 23-Aug-2004 14:15  2000.80.972.0      33,344  Sqlctr80.dll 23-Aug-2004 14:15  2000.80.972.0   4,215,360  Sqldmo.dll 23-Aug-2004 14:15                     25,172  Sqldumper.exe 23-Aug-2004 12:51  2000.80.972.0      28,672  Sqlevn70.rll 23-Aug-2004 14:15  2000.80.972.0     156,224  Sqlmaint.exe 23-Aug-2004 14:15  2000.80.972.0     180,792  Sqlmap70.dll 23-Aug-2004 14:15  2000.80.972.0     188,992  Sqlmmc.dll 23-Aug-2004 13:47  2000.80.972.0     479,232  Sqlmmc.rll 23-Aug-2004 14:16  2000.80.972.0     401,984  Sqlqry.dll 23-Aug-2004 14:16  2000.80.972.0      57,920  Sqlrepss.dll 23-Aug-2004 14:16  2000.80.972.0   7,581,777  Sqlservr.exe 23-Aug-2004 14:16  2000.80.972.0     590,396  Sqlsort.dll 23-Aug-2004 14:16  2000.80.972.0      45,644  Sqlvdi.dll 23-Aug-2004 14:16  2000.80.972.0     106,588  Sqsrvres.dll 23-Aug-2004 14:16  2000.80.972.0      33,340  Ssmslpcn.dll 23-Aug-2004 14:16  2000.80.972.0      82,492  Ssnetlib.dll 23-Aug-2004 14:16  2000.80.972.0      25,148  Ssnmpn70.dll 23-Aug-2004 14:16  2000.80.972.0     123,456  Stardds.dll 23-Aug-2004 14:16  2000.80.972.0     158,240  Svrnetcn.dll 23-Aug-2004 14:15  2000.80.972.0      76,416  Svrnetcn.exe 23-Aug-2004 14:16  2000.80.972.0      49,228  Ums.dll 23-Aug-2004 14:16  2000.80.972.0      98,872  Xpweb70.dll

Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

back to the top



WORKAROUND
To work around this problem, remove the IGNORE_DUP_KEY option that is set on the unique non-clustered index of the table.

back to the top



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the &quot;Applies to&quot; section. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

back to the top



MORE INFORMATION
For more information about the naming schema for Microsoft SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:

822499 New naming schema for Microsoft SQL Server software update packages

For more information about the terminology that Microsoft uses when correcting software after the software is released, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Stack information
A stack dump file that is similar to the following is logged in the SQL Server error log:

Short Stack Dump 00866627 Module(sqlservr+00466627) (CStackDump::GetContextAndDump+0000002E) 0086804E Module(sqlservr+0046804E) (stackTrace+0000021D) 0091D108 Module(sqlservr+0051D108) (utassert_fail+000002E3) 007FA5B3 Module(sqlservr+003FA5B3) (rowinsert+000001E5) 0041B2AB Module(sqlservr+0001B2AB) (insert+00000013) 0041D1B1 Module(sqlservr+0001D1B1) (RowsetSS::InsertRow+000001F4) 0041A9BE Module(sqlservr+0001A9BE) (CValRow::SetDataX+00000026) 00419E0E Module(sqlservr+00019E0E) (SetMultData+0000001C) 0041ADB9 Module(sqlservr+0001ADB9) (CEs::GeneralEval+000000DC) 006EA774 Module(sqlservr+002EA774) (CQScanUpdate::GetRow+000001DA) 004197AA Module(sqlservr+000197AA) (CQueryScan::GetRow+00000014) 00418CD7 Module(sqlservr+00018CD7) (CStmtQuery::ErsqExecuteQuery+0000035A) 0041A522 Module(sqlservr+0001A522) (CStmtDML::XretExecuteNormal+000002BD) 0041A346 Module(sqlservr+0001A346) (CStmtDML::XretExecute+0000001C) 00413CEE Module(sqlservr+00013CEE) (CMsqlExecContext::ExecuteStmts+000002D2) 004133E9 Module(sqlservr+000133E9) (CMsqlExecContext::Execute+000001B6) 00412918 Module(sqlservr+00012918) (CSQLSource::Execute+00000331) 004E737F Module(sqlservr+000E737F) (CStmtExec::XretLocalExec+0000014D) 004E721B Module(sqlservr+000E721B) (CStmtExec::XretExecute+0000031A) 00413CEE Module(sqlservr+00013CEE) (CMsqlExecContext::ExecuteStmts+000002D2) 004133E9 Module(sqlservr+000133E9) (CMsqlExecContext::Execute+000001B6) 00412918 Module(sqlservr+00012918) (CSQLSource::Execute+00000331) 00448916 Module(sqlservr+00048916) (language_exec+000003E1) 00411D4C Module(sqlservr+00011D4C) (process_commands+000000E0) 41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A) 41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD) 7800BEE4 Module(MSVCRT+0000BEE4) (beginthread+000000CE) 77F04EE8 Module(KERNEL32+00004EE8) (lstrcmpiW+000000BE) --- 2001-06-18 21:33:32.87 spid55 SQL Server Assertion: File: , line=571 Failed Assertion = 'sdesP->m_pIndex->indindid == CLUSTIND'. 2001-06-18 21:33:32.90 spid55 Error: 3624, Severity: 20, State: 1. 2001-06-18 21:33:32.90 spid57 Using 'dbghelp.dll' version '4.0.5' Dump thread - spid = 57, PSS = 0x4907d690, EC = 0x4907d9a0 Stack Dump being sent to d:\devices\MSSQL\log\SQL00012.dmp

back to the top

Additional query words: assertion unique nonclustered simultaneous

Keywords: kbbug kbfix kbthread kbqfe kbsqlserv2000presp4fix kbstack kbhotfixserver KB885290

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.