Příznaky
Když použijete kumulativní aktualizaci 26 (CU26) SQL Server 2016 Service Pack 3 (SP3) nebo SQL Server 2017 a spustíte uloženou proceduru čištění sledování změn, sp_flush_commit_table_on_demand nebo sp_flush_CT_internal_table_on_demandnebo pokud se spustí automatické čištění sledování změn, zobrazí se následující chybová zpráva:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
V protokolu chyb se můžou zaznamenávat SQL Server chyby:
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.
Když narazíte na tuto chybu, změna sledování automatického čištění nemůže vyčistit položky z boční tabulky nebo tabulky syscommittab.
Příčina
SQL Server 2016 SP3 a SQL Server 2017 CU26 představil novou tabulku dbo. MSchange_tracking_historya novou uloženou proceduru, sys.sp_add_ct_history, zaznamenávat historii čištění sledování změn. Tato tabulka obsahuje sloupec, cleanup_version, který je aktuálně deklarován jako datový typ INT. Uložená sys.sp_add_ct_history procedura má parametr, @cleanup_version, který je také deklarován jako INT. V zaneprázdněném systému, který používá sledování změn, může verze čištění překročit rozsah int v daném intervalu. Po spuštění čištění sledování změn se pak pokusí vložit hodnotu BIGINT do sloupce INT této tabulky. Tím se vygeneruje chyba popsaná v části Příznaky.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích SQL Server:
Kumulativní aktualizace 27 pro SQL Server 2017
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. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
Informace o opravě hotfix na vyžádání:
Tento problém je opravený v následující opravě hotfix na vyžádání pro SQL Server:
Řešení
Pokud narazíte na tento problém, vrátte se k předchozímu buildu tak, že SQL Server 2016 SP3 nebo SQL Server 2017 CU26. Microsoft tento problém aktivně prošetřuje a v případě, že jsou tyto informace dostupné, aktualizuje tento článek o další informace a další pokyny.
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.
Odkazy
Přečtěte si o terminologii, kterou Microsoft používá k popisu aktualizací softwaru.