Příznaky
Předpokládejme, že máte tabulku s clusterovaným indexem columnstore v Microsoft SQL serveru 2014. Spuštěním dotazu DDL u tabulky změníte datový typ existujícího sloupce. Když například aktualizujete datový typ Column_1 Table_1 z VARCHAR (499) na NVARCHAR (500), spustíte tento příkaz:
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
V této situaci dojde k několika chybám vyhodnocení a zobrazí se tato chybová zpráva:
Umístění: <cesta k souboru> \Xmcolenc.inl: 413Expression: PF_CURRENT_STATUS = = PFS_OK (v XMColumnEncoder <nepodepsaný znak *>:: EncodeValueForSecondary) SPID: <spid>ID procesu: <ID procesu>Popis: HR: 0x0Location : <,cesta k souboru> \xmerror.cpp: 43Expression : <
Ve složce protokolu chyb systému SQL Server se navíc generuje více souborů výpisu paměti a do protokolu chyb systému SQL Server jsou zaznamenány různé chybové zprávy podobné následujícím:
<Datum a čas><ID> se zastaví na <název disku>: \Program Files\Microsoft SQL Server\MSSQL12. SQL2014\MSSQL\LOG\SQLDump0002.txt<Datum a čas> číslo SPID<ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *. <datum a čas >číslo SPID<> *<ID> * spustit výpis zásobníku: <datum a čas> číslo SPID <ID> <kód <datum a čas ID> číslo SPID<ID > * <ID >ho data < * umístění: <cesta k souboru> \Xmcolenc.inl: 413<datum a čas> číslo SPID<ID > * výraz: PF_CURRENT_STATUS = = PFS_OK<datum a čas> číslo SPID<ID > * (v XMColumnEncoder<nepodepsaný znak *> : EncodeValueForSecondary) <datum ačas>ID 60 : 3680<Datum a čas> identifikátoru SPID<ID> * Popis: HR: 0x0<IDDatum a čas> číslo SPID<ID> * 136 <pro datum (> datum<) Date Time> upravit IDDate TimeID
Řešení
Po použití této opravy hotfix se může při selhání dotazu DDL zobrazit následující nová chybová zpráva:
Příkaz ALTER TABLE se nezdařil, protože sekundární slovník dosáhl maximální velikosti. Zvažte vyřazení indexu columnstore, provedení změny ve sloupci a vytvoření nového indexu columnstore.
Tato oprava také brání tomu, aby se soubory výpisu paměti generovaly v protokolu chyb systému SQL Server. Tento problém byl poprvé opraven v následujících kumulativních aktualizacích SQL serveru:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.