Příznaky
Po instalaci SQL Server 2016 Service Pack 3 (SP3) nebo kumulativní aktualizace SQL Server 2017 26 (CU26) a spustíte uloženou proceduru pro čištění sledování změn, sp_flush_commit_table_on_demand nebo sp_flush_CT_internal_table_on_demand, nebo pokud se spustí automatické čištění sledování změn, se zobrazí následující chybová zpráva:
Poznámka
- Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
- Error converting data type numeric to int.
Do protokolu chyb serveru SQL Server se navíc můžou zaznamenávat následující chyby:
Poznámka
- DateTime spidNum Error: 22122, Severity: 16, State: 1.
- DateTime spidNum Change Tracking autocleanup failed on side table of "table_name". Pokud chyba přetrvává, použijte sp_flush_CT_internal_table_on_demand k vyčištění záznamů s vypršenou platností z její boční tabulky.
Když na tuto chybu dojdete, automatické čištění sledování změ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ředstavily novou tabulku DBO. MSchange_tracking_history a novou uloženou proceduru sys.sp_add_ct_history, která slouží k zaznamenávání historie čištění sledování změn. Tato tabulka obsahuje sloupec cleanup_version, který je momentálně deklarovaný jako datový typ CELÁ.ČÁST. Uložená procedura sys.sp_add_ct_history 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 v tabulce pokusí vložit do sloupce CELÁ.ČÁST hodnotu. 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 pro SQL Server:
Kumulativní aktualizace 27 pro SQL Server 2017
Informace o kumulativních aktualizacích pro SQL Server:
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:
Nejnovější kumulativní aktualizace pro SQL Server 2017
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:
Alternativní řešení
Pokud narazíte na tento problém, vraťte se k předchozímu buildu odinstalací SQL Server 2016 SP3 nebo SQL Server 2017 CU26. Společnost Microsoft tento problém aktivně prošetřuje a bude tento článek aktualizovat o další informace a pokyny, jakmile budou k dispozici.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.