FIX: Un errore di asserzione si verifica quando è inserire dati nella stessa riga in una tabella, con più connessioni a un'istanza di SQL Server

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 885290
Bug #: 354812 (SQL Server 8.0)

Sommario
Questo articolo viene descritto il seguente su questa versione di aggiornamento rapido (hotfix):
  • I problemi risolti da questo pacchetto di aggiornamento rapido (hotfix).
  • Prerequisiti per l'installazione del pacchetto aggiornamento rapido (hotfix).
  • Se è necessario riavviare il computer dopo l'installazione del pacchetto di aggiornamento rapido (hotfix).
  • Sostituzione del pacchetto hotfix da qualsiasi altro pacchetto di aggiornamento rapido (hotfix).
  • Necessità di apportare le modifiche del Registro di sistema.
  • I file contenuti nel pacchetto di aggiornamenti rapidi (hotfix).

back to the top

Sintomi
Quando si tenta di inserire dati in una riga di una tabella, l'utilizzo di più connessioni a un'istanza di Microsoft SQL Server, viene potrebbe essere visualizzato il seguente messaggio di errore asserzione nel log degli errori SQL Server:
2001-06-18 21:33:32.87 spid55 asserzione di SQL Server: file: <insert.c>, riga = 571
Errore di asserzione = ' sdesP-> m_pIndex-> indindid == CLUSTIND '.
Errore di spid55 21:33:32.90 2001-06-18: 3624, gravità: 20, stato: 1.
Questo problema si verifica se sono vere tutte le condizioni seguenti:
  • I dati che si tenta di inserire sono gli stessi dati in almeno una delle colonne nella riga.
  • Nella tabella, un indice non cluster è definito nella colonna in cui è possibile inserire gli stessi dati.
  • Questo indice non cluster viene creato utilizzando l'opzione IGNORE_DUP_KEY.
Per ulteriori informazioni sugli aggiornamenti rapidi precedenti, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000

back to the top

Cause
Questo problema si verifica perché la riga che si inserisce è inserita nell'ultima riga in una pagina di indice.
back to the top

Risoluzione

Informazioni sul Service pack

Per risolvere il problema, ottenere il service pack più recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000

Informazioni sull'hotfix

Prerequisiti

Questo aggiornamento rapido (hotfix) richiede Microsoft SQL Server 2000 Service Pack 3 (SP3).

Per ulteriori informazioni su come ottenere SQL Server 2000 Service Pack 3, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000

back to the top

Informazioni sul riavvio

Non è necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).

back to the top

Informazioni sul file di hotfix

Questo aggiornamento rapido (hotfix) contiene solo i file necessari per correggere i problemi elencati nel presente articolo. Questo aggiornamento rapido (hotfix) non siano tutti i file necessari per aggiornare completamente un prodotto all'ultima build.
La versione di lingua inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e le ore per questi file sono indicati in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
         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      
Nota A causa delle dipendenze fra i file, è possibile che l'aggiornamento rapido più recente contenente i file contengano ulteriori file.


back to the top

Workaround
Per risolvere questo problema, rimuovere l'opzione di IGNORE_DUP_KEY impostata sull'indice univoco non cluster della tabella.

back to the top

Status
Microsoft ha confermato che questo un bug nei prodotti sono elencati nella sezione "Si applica a". Questo problema è stato innanzitutto corretto in SQL Server 2000 Service Pack 4.

back to the top

Informazioni
Per ulteriori informazioni sullo schema di denominazione degli aggiornamenti di Microsoft SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server
Per ulteriori informazioni sulla terminologia utilizzata da Microsoft correzione software dopo il rilascio del software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Informazioni sullo stack

Nel log degli errori di SQL Server viene registrato un file di dump dello stack che è simile al seguente:

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
asserzione univoco non cluster simultanee

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 885290 - Ultima revisione: 11/02/2007 10:01:21 - Revisione: 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 KbMtit
Feedback