Příznaky
Předpokládejme, že jste v Microsoft SQL Server 2017 nebo 2019 povolili Change Tracking pro jednu nebo více tabulek a nastavili jste AUTO_CLEANUP = ON. Všimněte si, že se z bočních tabulek nebo systémové tabulky sys.syscommittab neodstraní ani nevyčistí žádné řádky, a to ani po uplynutí doby uchovávání. Dále si můžete všimnout následujících příznaků:
Pokud se připojíte pomocí připojení Dedicated Správa a dotazujete se na neplatnou verzi čištění a posíleného čištění, zjistíte, že jsou negativní:
select * from sys.sysobjvalues where valclass = 7 and objid = 1003 -- invalid
select * from sys.sysobjvalues where valclass = 7 and objid = 1004 -- HardenedPokud spustíte následující aktualizaci SP k ručnímu vyčištění sys.syscommittab, neprovede vyčištění a vrátí verzi posíleného čištění jako negativní:
výkonný sp_flush_commit_table_on_demand
Výstup
Hodnota vrácená funkcí change_tracking_hardened_cleanup_version() je -nnnnnn.Pokud shromáždíte rozšířenou relaci události s událostí change_tracking_cleanup během automatického čištění sledování změn, všimnete si, že CleanupStatusChange je nastavená na hodnotu 32 (chyba) a práce na vyčištění existuje:
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
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 2019
- Nejnovější kumulativní aktualizace pro SQL Server 2017
Poznámka Tento problém vyřešíte tak, že povolíte příznak trasování 8290 a necháte běžet proces automatického čištění. Po povolení tohoto příznaku trasování proces automatického čištění sledování změn resetuje neplatnou verzi čištění na verzi čištění na základě doby uchovávání. Tento příznak trasování je možné povolit na úrovni relace nebo při spuštění. Abyste pochopili hlavní příčinu, proč se vyčištěná verze stala negativní, doporučujeme zavolat na podporu a poskytnout další podrobnosti.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.