Symptom
Anta att du har en tabell med ett grupperat columnstore-index i Microsoft SQL Server 2014. Du kör en DDL-fråga mot tabellen för att ändra data typen för en befintlig kolumn. Du kan till exempel uppdatera data typen för Column_1 av Table_1 från VARCHAR (499) till NVARCHAR (500) genom att köra följande kommando:
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
I den här situationen inträffar flera kontroll fel och du får följande fel meddelande:
Plats: <fil Sök väg> \Xmcolenc.inl: 413Expression: PF_CURRENT_STATUS = = PFS_OK (i XMColumnEncoder<Unsigned char *>:: EncodeValueForSecondary) SPID: <SPID>process-id: <process-ID>Beskrivning: hr: 0x0Location: <fil Sök väg> \xmerror.cpp: 43Expression: 0 (i PFSetLastError) SPID: <SPID>process -ID
Dessutom genereras flera minnes dum par filer i mappen SQL Server-felloggning och flera fel meddelanden av följande slag loggas i fel loggen för SQL Server:
<datum tid> SPID<ID> * * * stackdump som skickas till <disk namn>: \Program\Microsoft SQL Server\MSSQL12. SQL2014\MSSQL\LOG\SQLDump0002.txt<datum tid> SPID<ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <datum/ tid> SPID<ID> * <datum/tid> spid<id> * BEGIN stackdump: <datum tid> SPID<ID> * <datum tid> SPID<ID><datum/tid> spid<ID> * privat server version. <datum tid> SPID<ID> * <datum/tid> spid<ID> * Location: <fil Sök väg> \xmcolenc.inl: 413<datum tid> SPID<ID> * uttryck: PF_CURRENT_STATUS = = PFS_OK<datum/tid> SPID<ID> * (i XMColumnEncoder<Unsigned char *>:: EncodeValueForSecondary) <datum tid> SPID<ID> * SPID: 60<datum/tid> SPID<ID> * process-ID : 3680<datum/tid> SPID <ID> * Beskrivning: HR: 0x0<datum/tid> SPID<ID> * <datum tid> SPID<ID> * inmatad buffert 136 byte-<datum tid> SPID<ID> * Alter Table Table_1 Alter Column COL1 nvarchar (500) icke null;
Lösning
När du har installerat den här snabb korrigeringen kan följande fel meddelande visas när DDL-frågan inte fungerar:
ALTER TABLE-Instruktionen misslyckades eftersom en sekundär ord lista har nått maximal storleks gräns. Överväg att släppa columnstore-indexet, ändra kolumnen och sedan skapa ett nytt columnstore-index
Denna korrigering förhindrar också att minnes dum par filer skapas i SQL Server-felloggen. problemet åtgärdades först i följande kumulativa uppdateringar av SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Vi rekommenderar att du laddar ner och installerar de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".