KB4538365 – JAVÍTÁS: Change Tracking karbantartás nem működik, ha a törlés és a megerősített törlés verziója negatívak a 2017-es és 2019-es SQL Server ban

Hatókör
SQL Server 2017 on Windows SQL Server 2019 on Windows

Tünetek

Feltételezzük, hogy engedélyezte a Change Tracking egy vagy több táblához a Microsoft SQL Server 2017-ben vagy 2019-ben, és a AUTO_CLEANUP = BE értéket állította. Észreveheti, hogy a megőrzési időszak lejárta után sem törlődnek sorok az oldalsó táblákból vagy a sys.syscommittab rendszertáblából. Ezenkívül a következő tüneteket tapasztalja:

  1. Ha dedikált Rendszergazda kapcsolattal csatlakozik, és lekérdezi az érvénytelen karbantartási és megerősített karbantartási verziót, negatívnak fogja találni őket:
    select * from sys.sysobjvalues where valclass = 7 and objid = 1003 -- invalid
    select * from sys.sysobjvalues where valclass = 7 and objid = 1004 -- Hardened

  2. Ha a következő SP-t futtatja a sys.syscommittab manuális tisztításához, az nem fogja elvégezni a tisztítást, és a megerősített törlési verziót negatív értékként adja vissza:
    Exec sp_flush_commit_table_on_demand
    Kimenet
    A change_tracking_hardened_cleanup_version() függvény eredménye -nnnnnn.

  3. Ha eseményt tartalmazó kiterjesztett esemény-munkamenetet gyűjt change_tracking_cleanup a változások nyomon követésének automatikus karbantartása során, észreveheti, hogy a CleanupStatusChange értéke 32 (hiba), és a karbantartási munka létezik:

    Capture.PNG

Állapot

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.

Megoldás

A hibát az SQL Server következő összegző frissítéseiben javítottuk:

Az SQL Server összegző frissítéseinek ismertetése:

Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:

Megjegyzés A probléma megoldásához engedélyeznie kell a 8290-es jelölőt, és hagynia kell futni az automatikus karbantartási folyamatot. Miután engedélyezte ezt a nyomkövetési jelzőt, a változáskövetés automatikus törlési folyamata visszaállítja az érvénytelen adattörlési verziót a megőrzési időtartam alapján. Ez a nyomkövetési jelző a munkamenet vagy az indítás szintjén engedélyezhető. Annak érdekében, hogy megértse a kiváltó okot, amiért a karbantartási verzió negatív lett, javasoljuk, hogy hívja fel az ügyfélszolgálatot, és adjon meg további részleteket.

Hivatkozások

Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.