FIX: Indice non cluster danneggiato pu˛ verificarsi quando si esegue un'istruzione UPDATE complessa con un hint NOLOCK nella tabella di SQL Server

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

In questa pagina

Sintomi

Quando si esegue un'istruzione UPDATE complessa con un hint NOLOCK nella tabella di Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 o SQL Server 2014, pu˛ verificarsi il danneggiamento dell'indice non cluster. Inoltre, potrebbe essere registrato il seguente messaggio di errore nel log degli errori di SQL Server:

Data>tempo> spid # errore: 8646, gravitÓ: 21, stato: 1.
Data>tempo> spid # Impossibile trovare la voce di indice nell'indice ID 3, della tabella 2102402659, nel database 'NomeDatabase>'. L'indice indicato Ŕ danneggiato o si Ŕ verificato un problema con il piano di aggiornamento corrente. Eseguire DBCC CHECKDB o DBCC CHECKTABLE. Se il problema persiste, contattare il supporto tecnico.
Data>tempo> Using 'dbghelp. dll' versione '4.0.5' per spid #
Data>tempo> spid # * * Dump thread - spid = 0, CE = 0x0000000BD70624C0
Data>tempo> spid # * * * Dump dello Stack inviato a Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Data>tempo> spid # *
Data>tempo> spid # * inizio DUMP dello STACK:
Data>tempo> spid # * Data>tempo> spid #
Data>tempo> spid # *
Data>tempo> spid # * CPerIndexMetaQS::ErrorAbort - danneggiamento dell'indice
Data>tempo> spid # *

Nota
Ŕ possibile applicare un hint NOLOCK a tabelle di origine in un'istruzione. Tuttavia, Ŕ possibile applicare un hint NOLOCK a tabelle in un'istruzione di destinazione.

Cause

Questo problema si verifica perchÚ l'hint NOLOCK consente alla query di leggere correttamente i valori nella tabella quando la query legge gli stessi valori pi¨ volte.

Risoluzione

Il problema Ŕ stato innanzitutto corretto nell'aggiornamento cumulativo seguente di SQL Server.

Aggiornamento cumulativo 1 per SQL Server 2014

Aggiornamento cumulativo 11 per SQL Server 2012

Aggiornamento cumulativo 7 per SQL Server 2012 SP1

Aggiornamento cumulativo 13 per SQL Server 2008 SP3

Aggiornamento cumulativo 9 per SQL Server 2008 R2 Service Pack 2

Informazioni sugli aggiornamenti cumulativi per SQL Server

Riduci l'immagineEspandi l'immagine
assets folding start collapsed
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutte le correzioni di protezione che sono stati incluse nell'aggiornamento cumulativo precedente. Consente di estrarre gli ultimi aggiornamenti cumulativi per SQL Server:
Riduci l'immagineEspandi l'immagine
assets folding end collapsed

Status

Microsoft ha confermato che questo Ŕ un problema nei prodotti Microsoft elencati nella sezione "Si applica a".

ProprietÓ

Identificativo articolo: 2878968 - Ultima modifica: martedý 22 aprile 2014 - Revisione: 5.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2008 Service Pack 3áalle seguenti piattaforme
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
Chiavi:á
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtit
Traduzione automatica articoli
IMPORTANTE: il presente articolo Ŕ stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l?obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre Ŕ perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilitÓ per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualitÓ della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2878968
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