FIX: Violazione di accesso quando si inserisce un record in una nuova partizione vuota in SQL Server 2008 o in SQL Server 2008 R2

Traduzione articoli Traduzione articoli
Identificativo articolo: 2629456 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Microsoft distribuisce Microsoft SQL Server 2008 Service Pack 3 (SP3) o Microsoft SQL Server 2008 R2 consente di correggere un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e gli aggiornamenti della protezione che sono stati inclusi con il precedente SP3 2008 di SQL Server o SQL Server 2008 R2 rilascio dell'aggiornamento.

Sintomi

Si consideri il seguente scenario:
  • È possibile creare partizioni per una tabella in SQL Server 2008 o in SQL Server 2008 R2.
  • Non attivare la compressione in tutte le partizioni.
  • Si tenta di inserire un record in una nuova partizione vuota.
In questo scenario si verifica una violazione di accesso e il seguente messaggio di errore viene registrato nel log degli errori di SQL Server:
<Date> <Time> spid##      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt

<Date> <Time> spid##      SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

<Date> <Time> spid##      * BEGIN STACK DUMP:

<Date> <Time> spid##      *  Exception Address = 0000000000C37D22 Module(sqlservr+0000000000137D22)

<Date> <Time> spid##      *  Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION

<Date> <Time> spid##      *  Access Violation occurred reading address 0000000000000020
Nota Questo problema si verifica anche in Microsoft SQL Server 2008 R2.

Risoluzione

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 Service Pack 2

La correzione di questo problema prima pubblicazione: 8 aggiornamento cumulativo per SQL Server 2008 Service Pack 2. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2648096 Pacchetto di aggiornamento cumulativo 8 per SQL Server 2008 Service Pack 2
Nota Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 SQL Server. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2402659 Il 2008 SQL Server generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 Service Pack 2
Gli aggiornamenti rapidi Microsoft SQL Server 2008 vengono creati per service Pack specifici di SQL Server. È necessario applicare un aggiornamento rapido SQL Server 2008 Service Pack 2 per un'installazione di SQL Server 2008 Service Pack 2. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata prima 11 aggiornamento cumulativo. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2633145 Pacchetto di aggiornamento cumulativo 11 per SQL Server 2008 R2
Nota Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente SQL Server 2008 R2. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
981356 Il SQL Server 2008 R2 generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

Innanzitutto, la correzione di questo problema è stata rilasciata nell'aggiornamento cumulativo 4 di per SQL Server 2008 R2 Service Pack 1. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2633146 Pacchetto di aggiornamento cumulativo 4 per SQL Server 2008 R2 Service Pack 1
Nota Poiché le versioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente SQL Server 2008 R2. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2567616 Il SQL Server 2008 R2 generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 R2 Service Pack 1

SQL Server 2008 Service Pack 3

Innanzitutto, la correzione di questo problema è stata rilasciata nel pacchetto di aggiornamento cumulativo 2 per SQL Server 2008 Service Pack 3. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 Service Pack 3, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2633143 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2008 Service Pack 3
Nota Poiché le versioni sono cumulative, ogni nuova versione di aggiornamento contiene tutti gli aggiornamenti rapidi e rilascio dell'aggiornamento gli aggiornamenti della protezione che erano inclusi nelle precedenti SQL Server 2008 Service Pack 3. Si consiglia di considerare l'ipotesi di applicare il rilascio dell'aggiornamento più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2629969 Il 2008 SQL Server generazioni che sono stati rilasciati dopo il rilascio di SQL Server 2008 Service Pack 3

Informazioni

Per confermare se si sta verificando il problema descritto in questo articolo della knowledge base, attenersi alla seguente procedura:
  1. Aprire una connessione DAC SQL Server ed eseguire la query seguente:
    Use <your_db_name>
    
    select * from sys.sysrscols rsc where rsc.rsid in 
    
    ( select sau.container_id
    
    from sys.system_internals_allocation_units sau 
    
    join sys.partitions pt 
    
    on sau.container_id = pt.partition_id
    
    and pt.object_id = object_id(<YourPartitionedTable>) 
    
    and pt.index_id = 1)
    Nota In questa query <YourPartitionedTable>è un segnaposto per il nome della tabella di partizione.</YourPartitionedTable>
  2. Nell'output della query, verificare se il rscolid colonna contiene un valore di grandi dimensioni. Di seguito è un esempio di questo tipo un valore di grandi dimensioni:
    Riduci questa tabellaEspandi questa tabella
    RSID rscolid hbcolid rcmodified ti CID ordkey m
    72057594380091392 016149115785604
    72057594380091392111361491157812967532650
    72057594380091392121461491157832999532650
    72057594380091392 131561491157832999532650
    72057594380091392 14166149115785900
    72057594380091392 15176149115785900
    72057594380091392 1718614911578183400
    72057594380091392 671088651961491157819627536250
    72057594380091392 22236149115785600
    72057594380091392 232461491157810407536250
    72057594380091392 242561491157866263600
In questo esempio, il valore di 67108865 è notevolmente più grande rispetto ad altri. Ciò indica che si stia verificando il problema descritto in questo articolo della knowledge base riportato di seguito.

Workaround

Per aggirare questo problema, ricreare le partizioni interessate. Contattare il supporto tecnico clienti Microsoft per scoprire quali partizioni sono coinvolti. In alternativa, è possibile ricostruire tutte le partizioni utilizzando la seguente query:
ALTER INDEX <your_table_index>

ON <your_table_name>

REBUILD Partition = all

GO

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Proprietà

Identificativo articolo: 2629456 - Ultima modifica: lunedì 16 gennaio 2012 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
Chiavi: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2629456 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: 2629456
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.

Invia suggerimenti

 

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