Symptomer
Når du har brukt SQL Server 2016 Service Pack 3 (SP3) eller SQL Server 2017 Kumulativ oppdatering 26 (CU26), og du kjører en lagret prosedyre for endringssporingsopprydding, sp_flush_commit_table_on_demand eller sp_flush_CT_internal_table_on_demand, eller hvis automatisk opprydding av endringssporing kjøres, får du følgende feilmelding:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
I tillegg kan følgende feil logges i SQL Server feilloggen:
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.
Når du støter på denne feilen, kan ikke automatisk opprydding i endringssporing rydde opp oppføringer fra sidetabellen eller syscommittab-tabellen.
Årsak
SQL Server 2016 SP3 og SQL Server 2017 CU26 introduserte en ny tabell, dbo. MSchange_tracking_history, og en ny lagret prosedyre, sys.sp_add_ct_history, for å registrere loggen for endringssporingsopprydding. Denne tabellen har en kolonne, cleanup_version, som for øyeblikket er deklarert som INT-datatype. Den sys.sp_add_ct_history lagrede prosedyren har en parameter, @cleanup_version, som også er deklarert som INT. På et opptatt system som bruker endringssporing, kan oppryddingsversjonen krysse et område med INT i et gitt intervall. Når oppryddingen for endringssporing kjøres, prøver den deretter å sette inn en BIGINT-verdi i INT-kolonnen i denne tabellen. Dette genererer feilen som er beskrevet i Delen Symptomer.
Løsning
Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:
Kumulativ oppdatering 27 for SQL Server 2017
Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsoppdateringene som ble inkludert i den forrige kumulative oppdateringen. Se de nyeste kumulative oppdateringene for SQL Server:
Informasjon om hurtigreparasjoner ved behov:
Dette problemet er løst i følgende behovskrevne hurtigreparasjon for SQL Server:
Omgå problemet
Hvis du støter på dette problemet, kan du gå tilbake til forrige bygg ved å avinstallere SQL Server 2016 SP3 eller SQL Server 2017 CU26. Microsoft undersøker aktivt dette problemet, og oppdaterer denne artikkelen med mer informasjon og ytterligere veiledning når denne informasjonen er tilgjengelig.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen Gjelder for.
Referanser
Lær om terminologien som Microsoft bruker til å beskrive programvareoppdateringer.