FIX: Una query parallela pu˛ generare una violazione di accesso dopo l'installazione di SQL Server 2000 SP3

Traduzione articoli Traduzione articoli
Identificativo articolo: 821548 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato archiviato. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.
BUG #: 469252 (SQL Server 8.0)
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Dopo l'installazione di SQL Server 2000 Service Pack 3 (SP3), una query che utilizza un piano parallelo potrebbe non riuscire e causare una violazione di accesso nella funzione ParallelPageSharedData::AddRef() .

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

La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o successivi). 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.
   Date         Time   Version            Size    File name
   ------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   22-May-2003  22:57                     19,195  Qfe469571.sql
   12-Jun-2003  16:37                  1,083,989  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784  Replrec.dll      
   05-May-2003  00:05                  1,085,874  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   29-May-2003  00:29                    115,944  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   23-Jun-2003  22:40  2000.80.837.0   7,553,105  Sqlservr.exe     
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll 
Nota A causa delle dipendenze fra i file, la funzionalitÓ che contiene i file o l'aggiornamento rapido (hotfix) pi¨ recente pu˛ contenere anche ulteriori file.

Workaround

Per ovviare al problema, utilizzare uno dei metodi descritti di seguito:
  • Per disattivare parallelismo per la query specifica, utilizzare la clausola OPTION (MAXDOP 1).

    - oppure -
  • Per disattivare il parallelismo a livello di server, impostare il parametro di sp_configure max degree of parallelism su 1.

    - oppure -
  • Utilizzare il flag di traccia 683 in incluso in SQL Server registra SP3 hotfix genera 8.00.0765 e versioni successive. Se si attiva questo flag di traccia, il comportamento di analisi in parallelo di versioni precedenti a SQL Server 2000 SP3 Ŕ attivato e non viene eseguita la violazione di accesso.

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. Questo problema Ŕ stato innanzitutto corretto in SQL Server 2000 Service Pack 4.

Informazioni

Nel log degli errori di SQL Server, Ŕ possibile che venga registrato un file di dump dello stack che Ŕ simile al seguente file di dump:

2003-03-24 17:23:31.73 spid51 SqlDumpExceptionHandler: processo 1504 generato l'eccezione irreversibile c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server verrÓ terminato il processo.

*******************************************************************************
DUMP DELLO STACK INIZIALE:
24/03/03 17: 23: 31 spid 51

Indirizzo eccezione = 00810EC0 (ParallelPageSharedData::AddRef + 0000001C riga 0 + 00000000)
Codice eccezione = c0000005 EXCEPTION_ACCESS_VIOLATION
Accesso Violazione, per durante la scrittura indirizzo 00000004 0
********************************************************************************

Dump dello stack breve
00810EC0 Module(sqlservr+00410EC0) (ParallelPageSharedData::AddRef + 0000001C)
00810F80 Module(sqlservr+00410F80) (ParallelPageSupplier::ParallelPageSupplier + 00000032)
008115D4 Module(sqlservr+004115D4) (AllocSisterParallelPageSupplier + 00000033)
00800F08 Module(sqlservr+00400F08) (RowsetSS::Init + 000005E4)
0042307C Module(sqlservr+0002307C) (OpenRowsetSS::OpenRowset + 00000174)
00490705 Module(sqlservr+00090705) (GetTableCursor + 00000056)
006F127A Module(sqlservr+002F127A) (CQScanRowset::ParallelGetRowset + 0000015C)
006F9C3C Module(sqlservr+002F9C3C) (CQScanTableScan::CQScanTableScan + 00000084)
004EA3B6 Module(sqlservr+000EA3B6) (CXteTableScan::QScanGet + 00000089)
FC 006 902 Module(sqlservr+002FC902) (CQScanXProducer::CQScanXProducer + 0000014E)
FC 006 Module(sqlservr+002FC588) 588 (FnProducerThread + 0000013C)
0051274C Module(sqlservr+0011274C) (subproc_main + 000000C2)
41075002 Module(UMS+00005002) (ProcessWorkRequests + 00000272)
41074698 Module(UMS+00004698) (ThreadStartRoutine + 00000098)
7800C9EB Module(MSVCRT+0000C9EB) (beginthread + 000000CE)
77E887DD Module(KERNEL32+000087DD) (GetModuleFileNameA + 000001D1)
**************************************************************************************

ProprietÓ

Identificativo articolo: 821548 - Ultima modifica: mercoledý 26 febbraio 2014 - Revisione: 2.1
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Service Pack 3
Chiavi:á
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbquery kbconfig kbstoredproc kbsqlserv2000presp4fix kbfix kbbug KB821548 KbMtit
Traduzione automatica articoli
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: 821548
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

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