Symptomen
Nadat u SQL Server 2016 Service Pack 3 (SP3)of SQL Server 2017 Cumulatieve update 26 (CU26) hebt toegepast en u een procedure voor het bijhouden van opgeslagen procedures voor het bijhouden van wijziging, sp_flush_commit_table_on_demand of sp_flush_CT_internal_table_on_demand,of als u het bijhouden van automatische opschoningsruns wijzigt, ontvangt u het volgende foutbericht:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
Daarnaast kunnen de volgende fouten worden geregistreerd in het SQL Server foutenlogboek:
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.
Nadat u deze fout hebt ondervonden, kan het wijzigen van het bijhouden van automatische opschoning geen items uit de zijtabel of syscommittab-tabel opschonen.
Oorzaak
SQL Server 2016 SP3 en SQL Server 2017 heeft CU26 een nieuwe tabel, dbo, geïntroduceerd. MSchange_tracking_historyen een nieuwe opgeslagen procedure, sys.sp_add_ct_history,om de geschiedenis van het bijhouden van wijzigingsschoning op te nemen. Deze tabel heeft een kolom, cleanup_version, die momenteel wordt gedeclareerd als INT-gegevenstype. De sys.sp_add_ct_history opgeslagen procedure heeft een parameter, @cleanup_version, die ook wordt gedeclareerd als INT. Op een bezet systeem dat gebruikmaakt van wijzigingsregistratie, kan de opschoningsversie een bereik van INT in een bepaald interval doorkruisen. Wanneer de opschoning van de wijziging wordt uitgevoerd, wordt vervolgens geprobeerd een BIGINT-waarde in te voegen in de KOLOM INT van deze tabel. Hierdoor wordt de fout gegenereerd die wordt beschreven in de sectie 'Symptomen'.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 27 voor SQL Server 2017
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsfixes die zijn opgenomen in de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Informatie over hotfix op aanvraag:
Dit probleem is opgelost in het volgende on-demand hotfix voor SQL Server:
Tijdelijke oplossing
Als u dit probleem ondervindt, keert u terug naar de vorige build door SQL Server 2016 SP3 of SQL Server 2017 CU26 te verwijderen. Microsoft onderzoekt dit probleem actief en zal dit artikel bijwerken met meer informatie en aanvullende richtlijnen wanneer deze informatie beschikbaar is.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.