PARANDUS: Kinnituse tõrge, kui muudate veeru SQL Server 2014

Sümptomid

Oletame, et teil on tabel, kus on klasterdatud columnstore register Microsoft SQL Server 2014. Päringut DDL tabeli veeru andmetüüpi muuta. Näiteks võite värskendus andmetüüp Column_1 ja Table_1 muutuv märk (499), et n-muutuv märk (500), käivitades järgmise käsu:
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
Selles olukorras ilmneda mitme kinnituse vead ja kuvatakse järgmine tõrketeade:
Asukoht: <faili tee> \xmcolenc.inl:413
Expression: PF_CURRENT_STATUS == PFS_OK
(s XMColumnEncoder <unsigned char *>:: EncodeValueForSecondary)
SPID: <SPID>
Protsessi ID: <Protsessi ID >
Kirjeldus: hr: 0x0

Asukoht: <faili tee> \xmerror.cpp:43
Expression: 0
(s PFSetLastError)
SPID: <SPID>
Protsessi ID: <Protsessi ID>
Kirjeldus: hr: 0x0

Lisaks luuakse mitu mälutõmmisefailid kaustas SQL Server Error Log ja mitu tõrketeadet, mis meenutavad järgmisi logitakse SQL Server Error log:
<Kuupäev kellaaeg> <ID> spid *** pinu Dump <Ketta nimi> saadetakse: \Programmifailid\Microsoft SQL Server\MSSQL12. SQL2014\MSSQL\LOG\SQLDump0002.txt
<Date Time> spid<ID> * *******************************************************************************
<Kuupäev kellaaeg> <ID> spid *
<Kuupäev kellaaeg> <ID> spid * alustada PINU DUMP:
<Kuupäev kellaaeg> spid <ID> * <Kuupäev kellaaeg> <ID> spid
<Kuupäev kellaaeg> <ID> spid * eraldi server järk.
<Kuupäev kellaaeg> <ID> spid *
<Kuupäev kellaaeg> <ID> spid * asukoht: <Faili tee> \xmcolenc.inl:413
<Kuupäev kellaaeg> <ID> spid * Expression: PF_CURRENT_STATUS == PFS_OK
<Kuupäev kellaaeg> <ID> spid * (s XMColumnEncoder <unsigned char *>:: EncodeValueForSecondary)
<Kuupäev kellaaeg> < ID > spid * SPID: 60
<Kuupäev kellaaeg> <ID> spid * protsessi ID: 3680
<Kuupäev kellaaeg> <ID> spid * kirjeldus: hr: 0x0
<Kuupäev kellaaeg> <ID> spid *
<Kuupäev kellaaeg> <ID> spid * Input puhver 136 baiti -
<Kuupäev kellaaeg> <ID> spid * ALTER TABLE Table_1 muuta veeru COL1 NVARCHAR(500) pole NULL;

Lahendus

Pärast selle kiirparanduse rakendamist võidakse kuvada järgmine tõrketeade uue DDL päring ebaõnnestub:
Lause ALTER TABLE nurjus, kuna teisene sõnastik jõudnud piirini, kui maksimaalne suurus. Mõelge columnstore indekseid, muutmata veerg, siis luua uus columnstore register

See parandus takistab ka mälutõmmise failid on loodud SQL Server Error log.

See probleem parandati esmakordselt SQL serveri järgmiste kumulatiivseid värskendusi:
Soovitus: Installige uusim koondvärskendus SQL Server

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.

Atribuudid

Artikli ID: 3098529 – viimati läbi vaadatud: 25. jaan 2017 – redaktsioon: 1

Tagasiside