FIX: 一個判斷提示時,就會發生錯誤您在一個資料表中相同的資料列中插入資料藉由使用多個連線至 SQL Server 執行個體

文章翻譯 文章翻譯
文章編號: 885290 - 檢視此文章適用的產品。
Bug #: 354812 (SQL Server 8.0)

全部展開 | 全部摺疊

在此頁中

文件內容

結論

本文將告訴您下列關於此 Hotfix 版本:
  • 此 Hotfix 套件所修正之問題。
  • 安裝 Hotfix 套件的先決條件。
  • 是否您必須重新啟動您的電腦安裝 Hotfix 套件之後。
  • 是否 Hotfix 套件會取代任何其他 Hotfix 套件。
  • 您必須在是否做任何登錄變更。
  • Hotfix 套件中所包含的檔案。



徵狀

當想插入資料表中資料列中的資料,藉由使用 Microsoft SQL Server 執行個體的多個連接您可能會在 SQL Server 錯誤記錄檔中收到下列的判斷提示錯誤訊息:
2001-06-18 21:33:32.87 spid55 SQL Server 判斷提示: 檔案: <insert.c>,線條 = 571
無法判斷提示 = 'sdesP--> [indindid m_pIndex > = = CLUSTIND'。
2001-06-18 21:33:32.90 spid55 錯誤: 3624,高的嚴重性等級: 20 狀態: 1。
如果下列情況成立,就會發生這個問題:
  • 您嘗試插入的資料是為中至少一個資料列中資料行相同的資料。
  • 在表格非叢集索引定義插入相同的資料欄上。
  • 此非叢集索引是使用 IGNORE_DUP_KEY 選項所建立的。
如先前的 Hotfix 的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack



發生的原因

在您插入的資料列插入最後一個資料列索引頁上,就會發生這個問題。


解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

必要條件

此 Hotfix 需要 Microsoft SQL Server 2000 Service Pack 3 (SP3)。

如需有關如何取得 SQL Server 2000 Service Pack 3,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

重新啟動資訊

您沒有套用此 Hotfix 之後,重新啟動您的電腦。

Hotfix 檔案資訊

此 Hotfix 包含只需修正本文所列問題的那些檔案。此 Hotfix 並未包含必須將產品完整更新至最新版組建的所有檔案。
此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (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      


附註由於檔案相依性的最新 Hotfix 包含這些檔案也可能包含其他檔案。




其他可行方案

如果要解決這個問題,移除 IGNORE_DUP_KEY 選項唯一非叢集索引的資料表上所設定。



狀況說明

Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。 這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。



其他相關資訊

如 Microsoft SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述
如 Microsoft 軟體發行之後修正軟體時所使用的術語的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

堆疊資訊

SQL Server 錯誤記錄檔會記錄類似下列的堆疊傾印檔案:

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: <insert.c>, 
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


屬性

文章編號: 885290 - 上次校閱: 2007年11月2日 - 版次: 2.3
這篇文章中的資訊適用於:
  • 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 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:885290
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com