FIX: Errore di asserzione quando si modifica il tipo di una colonna di SQL Server 2014

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: 3098529
Sintomi
Si supponga di disporre di una tabella che include un indice cluster columnstore in Microsoft SQL Server 2014. Si esegue una query DDL sulla tabella per modificare il tipo di dati di una colonna esistente. Ad esempio, aggiornare il tipo di dati per colonna_1 di Table_1 da VARCHAR (499) a NVARCHAR (500) eseguendo il comando seguente:
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
In questo caso, si verificano più errori di asserzione e viene visualizzato il seguente messaggio di errore:
Percorso:Percorso del file> \xmcolenc.inl:413
Espressione: PF_CURRENT_STATUS = = PFS_OK
(in XMColumnEncoderunsigned char *>:: EncodeValueForSecondary)
SPID:SPID>
ID del processo:ID di processo >
Descrizione: hr: 0x0

Percorso:Percorso del file> \xmerror.cpp:43
Espressione: 0
(in PFSetLastError)
SPID:SPID>
ID del processo:ID di processo>
Descrizione: hr: 0x0

Inoltre, vengono generati più file di dump di memoria nella cartella log degli errori di SQL Server e più messaggi di errore analoghi ai seguenti vengono registrati nel log degli errori di SQL Server:
Data ora> spidID> * * * Inviate al Dump dello stackNome disco>: \Programmi\Microsoft SQL Server\MSSQL12. SQL2014\MSSQL\LOG\SQLDump0002.txt
Data ora> spidID> * *******************************************************************************
Data ora> spidID>*
Data ora> spidID> * DUMP DELLO STACK INIZIALE:
Data ora> spidID>*Data ora> spidID>
Data ora> spidID> * Build server privato.
Data ora> spidID>*
Data ora> spidID> * Percorso:Percorso del file> \xmcolenc.inl:413
Data ora> spidID> * Espressione: PF_CURRENT_STATUS = = PFS_OK
Data ora> spidID> * (in XMColumnEncoderunsigned char *>:: EncodeValueForSecondary)
Data ora> spid<ID>* SPID: 60</ID>
Data ora> spidID> * ID processo: 3680
Data ora> spidID> * Descrizione: hr: 0x0
Data ora> spidID>*
Data ora> spidID> * Byte 136 - Buffer di input
Data ora> spidID> * ALTER tabella Table_1 ALTER colonna COL1 NVARCHAR(500) NOT NULL.
Risoluzione
Dopo avere applicato questo hotfix, è che venga visualizzato il seguente messaggio di errore di nuovo quando la query DDL non riesce:
Istruzione ALTER TABLE non riuscita perché un dizionario secondario ha raggiunto il limite massimo. Si consiglia di eliminare l'indice di columnstore, la modifica della colonna, quindi crea un nuovo indice di columnstore

Questa correzione impedisce inoltre i file di dettagli memoria generati nel log degli errori di SQL Server.

Il problema è stato corretto in seguito aggiornamenti cumulativi di SQL Server: Raccomandazioni: Installare l'aggiornamento cumulativo più recente per SQL Server
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. Si consiglia di scaricare e installare gli ultimi aggiornamenti cumulativi per SQL Server:
Status
Microsoft ha confermato che questo è un problema per i prodotti Microsoft elencati nella sezione "Si applica a".

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 3098529 - Ultima revisione: 03/14/2016 10:41:00 - Revisione: 3.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3098529 KbMtit
Feedback