Príznaky
Po použití Kumulatívna aktualizácia 26 (CU26) balíka SQL Server 2016 Service Pack 3 (SP3) alebo SQL Server 2017 (CU26) a spustení uloženej procedúry sledovania zmien, sp_flush_commit_table_on_demand alebo sp_flush_CT_internal_table_on_demand,alebo ak sa spustí automatické čistenie sledovania zmien, sa zobrazí toto chybové hlásenie:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
Okrem toho sa v denníku chýb SQL Server chýb:
DateTime spidNum Error: 22122, Severity: 16, State: 1.
DateTime spidNum Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.
Po výskyte tejto chyby automatické čistenie zmien nemôže vyčistiť položky z bočnej tabuľky alebo tabuľky syscommittab.
Príčina
SQL Server 2016 SP3 a SQL Server 2017 CU26 zaviedli novú tabuľku dbo. MSchange_tracking_historya novú uloženú procedúru, sys.sp_add_ct_history, na zaznamenanie histórie vyčistenia sledovania zmien. Táto tabuľka obsahuje stĺpec s cleanup_version, ktorý je v súčasnosti deklarovaný ako typ údajov INT. V sys.sp_add_ct_history uložená procedúra obsahuje parameter, @cleanup_version, ktorý je tiež deklarovaný ako INT. V zaneprázdnenom systéme, ktorý používa sledovanie zmien, môže verzia vyčistenia v danom intervale prejsť cez rozsah funkcie INT. Po spustení vyčistenia sledovania zmien sa potom pokúsi vložiť hodnotu BIGINT do stĺpca INT tejto tabuľky. Vygeneruje sa chyba popísaná v časti Príznaky.
Riešenie
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 27 pre SQL Server 2017
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Informácie o rýchlej oprave na požiadanie:
Tento problém je opravený v nasledujúcej rýchlej oprave na požiadanie pre SQL Server:
Alternatívne riešenie
Ak sa vyskytne tento problém, vrátiť sa späť na predchádzajúcu zostavu odinštalovaním balíka SQL Server 2016 SP3 alebo SQL Server 2017 CU26. Spoločnosť Microsoft tento problém aktívne skúma a aktualizuje tento článok s ďalšími informáciami a ďalšími pokynmi, keď budú tieto informácie k dispozícii.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii, ktorú spoločnosť Microsoft používa na opísanie aktualizácií softvéru.