Jelenségek
Miután a SQL Server 2016 Service Pack 3 (SP3) vagy a SQL Server 2017 kumulatív frissítés (CU26) telepítése után futtatta a változáskövetési tárolt eljárást, az sp_flush_commit_table_on_demand-t vagy az sp_flush_CT_internal_table_on_demand-ot,illetve ha fut a változások nyomon követése automatikus tisztítása, a következő hibaüzenet jelenik meg:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
Ezenkívül előfordulhat, hogy a hibanapló a következő SQL Server naplózza:
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.
A hiba jelentkezése után a változáskövetés automatikus tisztítása nem tudja megtisztítani az oldalsó táblából vagy a syscommittab táblázatból származó bejegyzéseket.
A probléma oka
SQL Server 2016 SP3 és SQL Server 2017 CU26 új táblázatot, a dbo-t vezettünk be. MSchange_tracking_historyés egy új tárolt eljárást (sys.sp_add_ct_history) a változások nyomon követésének előzményeinek rögzítéséhez. A táblázatnak van egy cleanup_version,amely jelenleg INT adattípussal van deklarálva. A sys.sp_add_ct_history tárolt eljárásnak van egy @cleanup_version, amely intként is deklarálva van. A változáskövetést használó foglalt rendszereken a tisztítási verzió adott intervallumon belül áteshet az INT-tartományokon. Ezután, amikor fut a változáskövetési tisztítás, megpróbálja beszúrni a BIGINT értéket a táblázat INT oszlopába. Ez a hiba a "Tünetek" szakaszban leírt hibát generálja.
Megoldás
Ezt a problémát az alábbi összegző frissítésekben javítottuk SQL Server:
27. kumulatív frissítés SQL Server 2017-es verzióhoz
A frissítés összes SQL Server tartalmazza az összes gyorsjavítást és az előző összegző frissítésben szereplő összes biztonsági javítást. Tekintse meg a legújabb összegző frissítéseket a SQL Server:
Igény szerinti gyorsjavítási információk:
Ezt a problémát az alábbi igény szerinti gyorsjavításban javítottuk SQL Server:
Kerülő megoldás
Ha ezzel a problémával találkozik, a 2016 SP SQL Server 3 vagy a 2017 CU26 SQL Server eltávolításával visszaállhat az előző buildre. A Microsoft aktívan dolgozik a probléma kivizsgálásán, és frissíteni fogja ezt a cikket további információkkal és további útmutatással, amikor ezek az információk elérhetők lesznek.
Állapot
A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.
Hivatkozások
Megismerheti a Microsoft által a szoftverfrissítések leírására használt terminológiát.