FIX: La funzione di sistema @@ ERROR può restituire un valore non corretto quando si esegue un'istruzione Transact-SQL che utilizza un piano di esecuzione parallela in SQL Server 2000 a 32 bit o in SQL Server 2000 64-bit

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: 890925
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Bug #: 471094 (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 un'istruzione Transact-SQL viene eseguita utilizzando un piano di esecuzione parallela, Microsoft SQL Server 2000 non possono impostare, nel valore della funzione di sistema @@ ERROR correttamente quando l'istruzione Transact-SQL non o quando SQL Server rileva un errore. Se si esamina il valore restituito dalla funzione di sistema @@ ERROR immediatamente dopo l'esecuzione dell'istruzione Transact-SQL, si noterà che la funzione di @@ ERROR restituito un valore pari a zero, anche se la query ha causato un errore diverso da zero.

Ad esempio, la seguente istruzione Transact-SQL può eseguire comunque l'istruzione DELETE anche se l'istruzione INSERT non riesce se viene utilizzato un piano di esecuzione parallela:
INSERT INTO table2 SELECT * FROM table1IF ( @@ERROR = 0 )  DELETE FROM table1
piani di esecuzione parallela di Nota si verificano solo su istanze di SQL Server che eseguono un computer dotato di due o più processori logici.

Per un elenco degli aggiornamenti rapidi precedenti, vedere la sezione "Microsoft SQL Server 2000 al Pack 3 o aggiornamenti rapidi di Microsoft SQL Server 2000 post-Service Pack 3a" nell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000


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 SQL Server 2000 Service Pack 3 (SP3). Per informazioni su come ottenere SQL Server 2000 SP3, vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
290211Come ottenere il service pack più recente per SQL Server 2000
Inoltre, questo aggiornamento rapido (hotfix) richiede che dispongono inoltre SQL Server 2000 aggiornamento rapido (hotfix) build 2000.80.977 installato.Per ulteriori informazioni sull'hotfix di SQL Server 2000 Post SP3a creare 2000.80.977, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
888007Riceverai un messaggio di errore "il prodotto non è installato un aggiornamento dei prerequisiti" quando si tenta di installare un aggiornamento rapido post-SP3 di 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 inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). 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.

SQL Server 2000 a 32 bit
   Date         Time   Version            Size    File name   ---------------------------------------------------------------------   01-Dec-2004  19:57  2000.80.993.0     664,128  Autoplt.dll         01-Dec-2004  19:57  2000.80.993.0      78,400  Console.exe   01-Dec-2004  19:57  2000.80.993.0     332,352  Ctasksui.dll   01-Dec-2004  19:57  2000.80.993.0     315,968  Custtask.dll        01-Dec-2004  19:57  2000.80.993.0      33,340  Dbmslpcn.dll        08-Apr-2004  21:42                    786,432  Distmdl.ldf   08-Apr-2004  21:42                  2,359,296  Distmdl.mdf   30-Sep-2003  22:55                        180  Drop_repl_hotfix.sql   01-Dec-2004  19:57  2000.80.993.0   1,905,216  Dtspkg.dll          01-Dec-2004  19:57  2000.80.993.0     528,960  Dtspump.dll         01-Dec-2004  19:57  2000.80.993.0   1,557,052  Dtsui.dll           01-Dec-2004  19:57  2000.80.993.0     639,552  Dtswiz.dll          30-Sep-2003  22:55                    747,927  Instdist.sql   30-Sep-2003  22:55                      1,581  Inst_repl_hotfix.sql   01-Dec-2004  19:57  2000.80.993.0     352,828  Isqlw.exe           01-Dec-2004  19:57  2000.80.993.0      82,492  Itwiz.exe           01-Dec-2004  19:57  2000.80.993.0      90,692  Msgprox.dll         29-Oct-2004  08:16  8.11.41022.0      226,304  Mssdi98.dll         01-Dec-2004  19:57  2000.80.993.0      62,024  Odsole70.dll        01-Dec-2004  19:58  2000.80.993.0      25,144  Opends60.dll        01-Dec-2004  19:57  2000.80.993.0      57,904  Osql.exe            01-Dec-2004  19:57  2000.80.993.0     279,104  Pfutil80.dll        30-Sep-2003  22:48                    550,780  Procsyst.sql   08-Apr-2004  21:42                     12,305  Qfe469315.sql   08-Apr-2004  21:42                     19,195  Qfe469571.sql   27-Aug-2004  00:13                      5,157  Qfe472197.sql   01-Dec-2004  19:57  2000.80.993.0     143,940  Qrdrsvc.exe         01-Dec-2004  18:49                  1,106,776  Replmerg.sql   01-Dec-2004  19:57  2000.80.993.0     221,768  Replprov.dll        01-Dec-2004  19:57  2000.80.993.0     307,784  Replrec.dll         01-Dec-2004  18:56  2000.80.993.0     159,813  Replres.rll   27-Aug-2004  00:13                  1,086,925  Replsys.sql   30-Sep-2003  22:55                    986,603  Repltran.sql   25-Nov-2004  00:04                         55  Repl_uninstall.sql   01-Dec-2004  19:57  2000.80.993.0     287,304  Rinitcom.dll        01-Dec-2004  19:57  2000.80.993.0      78,416  Sdiclnt.dll         01-Dec-2004  19:57  2000.80.993.0      66,112  Semmap.dll          01-Dec-2004  19:57  2000.80.993.0      57,916  Semnt.dll           01-Dec-2004  19:57  2000.80.993.0     492,096  Semobj.dll          01-Dec-2004  19:20  2000.80.993.0     172,032  Semobj.rll   01-Dec-2004  19:57  2000.80.993.0      53,832  Snapshot.exe        30-Sep-2003  22:48                    117,834  Sp3_serv_uni.sql   01-Dec-2004  19:57  2000.80.993.0      28,672  Sqlagent.dll        01-Dec-2004  19:57  2000.80.993.0     311,872  Sqlagent.exe        01-Dec-2004  19:57  2000.80.993.0     168,001  Sqlakw32.dll        01-Dec-2004  19:57  2000.80.993.0      33,344  Sqlctr80.dll        01-Dec-2004  19:57  2000.80.993.0   4,215,360  Sqldmo.dll          01-Dec-2004  19:57                     25,172  Sqldumper.exe       01-Dec-2004  18:48  2000.80.993.0      28,672  Sqlevn70.rll   01-Dec-2004  19:57  2000.80.993.0     156,224  Sqlmaint.exe        01-Dec-2004  19:57  2000.80.993.0     180,792  Sqlmap70.dll        01-Dec-2004  19:57  2000.80.993.0     188,992  Sqlmmc.dll   01-Dec-2004  19:12  2000.80.993.0     479,232  Sqlmmc.rll   01-Dec-2004  19:57  2000.80.993.0     401,984  Sqlqry.dll   01-Dec-2004  19:57  2000.80.993.0      57,920  Sqlrepss.dll        01-Dec-2004  19:58  2000.80.993.0   7,716,945  Sqlservr.exe        01-Dec-2004  19:57  2000.80.993.0     590,396  Sqlsort.dll         01-Dec-2004  19:57  2000.80.993.0      45,644  Sqlvdi.dll          01-Dec-2004  19:58  2000.80.993.0     106,588  Sqsrvres.dll   01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmsgnet.dll        01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmslpcn.dll        01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmsqlgc.dll        01-Dec-2004  19:58  2000.80.993.0      82,492  Ssnetlib.dll        01-Dec-2004  19:58  2000.80.993.0      25,148  Ssnmpn70.dll        01-Dec-2004  19:58  2000.80.993.0     123,456  Stardds.dll   01-Dec-2004  19:58  2000.80.993.0     158,240  Svrnetcn.dll        01-Dec-2004  19:57  2000.80.993.0      76,416  Svrnetcn.exe        01-Dec-2004  19:58  2000.80.993.0      49,228  Ums.dll             01-Dec-2004  19:58  2000.80.993.0      74,304  Xplog70.dll         01-Dec-2004  19:58  2000.80.993.0      98,872  Xpweb70.dll
SQL Server 2000 a 64 bit
   Date         Time   Version            Size    File name        Platform   ------------------------------------------------------------------------   02-Dec-2004  03:15  2000.80.993.0      56,832  Dbmslpcn.dll     IA-64   02-Dec-2004  03:14  2000.80.993.0     528,960  Dtspump.dll   02-Dec-2004  03:15  2000.80.993.0     185,856  Msgprox.dll   29-Oct-2004  08:16  8.11.41022.0      742,912  Mssdi98.dll      IA-64   02-Dec-2004  03:15  2000.80.993.0     151,040  Odsole70.dll     IA-64   02-Dec-2004  03:16  2000.80.993.0      27,136  Opends60.dll     IA-64   01-Dec-2004  20:09                     19,880  Opends60.lib   02-Dec-2004  03:15  2000.80.993.0     148,992  Osql.exe         IA-64   02-Dec-2004  03:15  2000.80.993.0     353,280  Qrdrsvc.exe   02-Dec-2004  03:15  2000.80.993.0     534,528  Replprov.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     769,024  Replrec.dll   02-Dec-2004  03:15  2000.80.993.0     650,240  Rinitcom.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     160,768  Semmap.dll       IA-64   02-Dec-2004  03:15  2000.80.993.0     132,608  Semnt.dll        IA-64   02-Dec-2004  03:15  2000.80.993.0      88,576  Snapshot.exe     IA-64   02-Dec-2004  03:14  2000.80.993.0      10,240  Sqlagent.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0   1,055,232  Sqlagent.exe   02-Dec-2004  03:15  2000.80.993.0      90,112  Sqlboot.dll      IA-64   02-Dec-2004  03:15  2000.80.993.0      32,256  Sqlctr80.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     812,032  Sqldata.dll      IA-64   02-Dec-2004  03:15  2000.80.993.0  13,845,504  Sqldmo.dll   02-Dec-2004  03:15                     39,936  Sqldumper.exe    IA-64   02-Dec-2004  03:15  2000.80.993.0     493,568  Sqlmaint.exe     IA-64   02-Dec-2004  03:15  2000.80.993.0      23,040  Sqlmap70.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     152,064  Sqlrepss.dll     IA-64   02-Dec-2004  03:16  2000.80.993.0  25,255,936  Sqlservr.exe     IA-64   02-Dec-2004  03:15  2000.80.993.0     616,960  Sqlsort.dll      IA-64   02-Dec-2004  03:15  2000.80.993.0     120,320  Sqlvdi.dll       IA-64   02-Dec-2004  03:15  2000.80.993.0     227,328  Sqsrvres.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0      53,760  Ssmslpcn.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0      59,904  Ssmsqlgc.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     256,000  Ssnetlib.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0      20,992  Ssnmpn70.dll     IA-64   02-Dec-2004  03:15  2000.80.993.0     430,080  Svrnetcn.dll   02-Dec-2004  03:15  2000.80.993.0     185,856  Svrnetcn.exe     IA-64   02-Dec-2004  03:15  2000.80.993.0     183,296  Xplog70.dll   02-Dec-2004  03:15  2000.80.993.0     187,392  Xpweb70.dll      IA-64   21-Jul-2004  17:38  2000.80.962.0      57,904  Osql.exe         x86   30-Sep-2003  22:23  2000.80.760.0     269,824  Sqdedev.dll      IA-64   01-Dec-2004  20:22  2000.80.993.0     146,432  Replres.rll   01-Dec-2004  20:10  2000.80.993.0      19,968  Sqlevn70.rll
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 ovviare al problema, utilizzare uno dei metodi descritti di seguito:
  • Utilizzare un hint di query

    Aggiungere alla query il suggerimento OPTION (MAXDOP 1) per evitare che l'istruzione SELECT dall'utilizzo di un piano di esecuzione parallela.
  • Utilizzare il sp_configure stored procedure di sistema

    Eseguire la procedura di sistema sp_configure impostare l'opzione max degree of parallelism su 1 per l'istanza di SQL Server. Per impostare l'opzione max degree of parallelism , istruzione di esecuzione Transact-SQL seguente nell'istanza di SQL Server che si desidera modificare:
    exec sp_configure 'max degree of parallelism',1GORECONFIGUREGO

    Nota Si sconsiglia questo quanto potrebbero influire sulle prestazioni.
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 per finestra di Microsoft SQL Server gli aggiornamenti, fare clic numero articolo riportato per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
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, 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

back to the top
SQL2000

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 890925 - Ultima revisione: 01/17/2015 09:34:45 - 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

  • kbnosurvey kbarchive kbmt kbquery kbsqlserv2000presp4fix kbbug kbfix kbhotfixserver kbqfe KB890925 KbMtit
Feedback