KB5007039 – OPRAVA: Pri čistení sledovania zmien sa zobrazujú chybové hlásenia 8114 alebo 22122

Vzťahuje sa na
SQL Server 2016 SQL Server 2017 on Linux SQL Server 2017 on Windows SQL Server 2016 Service Pack 3 - duplicate (do not use)

Príznaky

Po použití balíka SQL Server 2016 Service Pack 3 (SP3) alebo kumulatívnej aktualizácie SQL Server 2017 26 (CU26) a spustení uloženej procedúry vyčistenia 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:

Poznámka

  • Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
  • Error converting data type numeric to int.

Okrem toho môžu byť v denníku chýb SQL Server zaznamenané nasledujúce chyby:

Poznámka

  • DateTime spidNum     Error: 22122, Severity: 16, State: 1.
  • DateTime spidNum Change Tracking autocleanup failed on side table of "table_name". Ak zlyhanie pretrváva, pomocou sp_flush_CT_internal_table_on_demand vyčistite záznamy s uplynutou platnosťou z bočnej tabuľky.

Po výskyte tejto chyby automatické čistenie sledovania zmien nedokáž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 predstavili novú tabuľku dbo. MSchange_tracking_history a novú uloženú procedúru sys.sp_add_ct_history na zaznamenanie histórie čistenia sledovania zmien. Táto tabuľka obsahuje stĺpec cleanup_version, ktorý je aktuálne deklarovaný ako typ údajov INT. Uložená procedúra sys.sp_add_ct_history má parameter @cleanup_version, ktorý je tiež deklarovaný ako INT. V zaneprázdnenom systéme, ktorý používa sledovanie zmien, môže vyčistená verzia v zadanom intervale prekročiť rozsah INT. Po spustení čistenia sledovania zmien sa potom pokúsi vložiť hodnotu BIGINT do stĺpca INT tejto tabuľky. Vznikne chyba, ktorá je 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

Informácie o kumulatívnych aktualizáciách pre SQL Server:

Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

Najnovšia kumulatívna aktualizácia pre SQL Server 2017

Informácie o rýchlych opravách 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áťte sa k predchádzajúcej zostave odinštalovaním SQL Server 2016 SP3 alebo SQL Server 2017 CU26. Spoločnosť Microsoft tento problém aktívne skúma a keď budú tieto informácie k dispozícii, tento článok aktualizuje o ďalšie informácie a ďalšie pokyny.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Odkazy

Získajte informácie o terminológii, ktorú Microsoft používa na popis aktualizácií softvéru.