你目前正处于脱机状态,正在等待 Internet 重新连接

FIX: 当数据在表中同一行中使用插入到 SQL Server 的一个实例的多个连接,断言错误时发生

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 885290
错误 #: 354812 (SQL Server 8.0)

概要
本文介绍以下有关此修补程序版本:
  • 此修补程序包修复的问题。
  • 安装此修补程序包的先决条件。
  • 在安装此修补程序包后,是否必须重新启动您的计算机。
  • 是否将修补程序软件包将替换为任何其他修补程序包。
  • 是否必须进行注册表中的任何更改。
  • 此修补程序包中包含的文件。

back to the top

症状
当试图通过使用多个连接以 Microsoft SQL Server 的实例在一个表中的行中插入数据时您可能会 SQL Server 错误日志中收到下面的断言错误消息:
2001-06-18 21:33:32.87 spid55 SQL Server 肯定: 文件: <insert.c>,行 = 571
无法肯定 =-> indindid m_pIndex sdesP = = CLUSTIND。
2001-06-18 21:33:32.90 spid55 错误: 3624,严重性: 20,状态: 1。
如果满足下列所有条件都都为真,就会出现此问题:
  • 您尝试插入的数据是相同的数据中至少一个行中的列。
  • 在表中一个非聚集索引是在列中相同的数据的插入位置上定义的。
  • 通过使用 IGNORE_DUP_KEY 选项来创建此非聚集索引。
有关以前的修复程序的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

back to the top

原因
因为您插入的行插入索引页上最后一行中,将发生此问题。
back to the top

解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

修补程序信息

系统必备组件

此修补程序需要 Microsoft SQL Server 2000 Service Pack 3 (SP3)。

有关如何获取 SQL Server 2000 Service Pack 3 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

back to the top

重新启动信息

您不必在应用此修补程序后重新启动计算机。

back to the top

修补程序文件信息

此修补程序仅包含那些文件解决本文列出了该问题所必需的。此修补程序不能包含将产品完全更新到最新版本所必需的所有文件。
此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
         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      
注意由于存在文件依赖性包含这些文件的最新修补程序还可能包含其他文件。


back to the top

替代方法
要变通解决此问题,请删除唯一的非聚集索引的表上设置的 IGNORE_DUP_KEY 选项。

back to the top

状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的错误。 Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。

back to the top

更多信息
有关命名 Microsoft SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构
Microsoft 使用时释放该软件之后更正软件的术语有关的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

堆栈信息

SQL Server 错误日志中记录与以下内容类似的堆栈转储文件:

Short Stack Dump00866627 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: <insert.c>, line=571Failed 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 = 0x4907d9a0Stack Dump being sent to d:\devices\MSSQL\log\SQL00012.dmp


back to the top
断言唯一非聚集同时

警告:本文已自动翻译

属性

文章 ID:885290 - 上次审阅时间:11/02/2007 10:01:21 - 修订版本: 2.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 标准版, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbmt kbsqlserv2000presp4fix kbstack kbthread kbbug kbfix kbhotfixserver kbqfe KB885290 KbMtzh
反馈