Problembeschreibung
Nachdem Sie SQL Server 2016 Service Pack 3 (SP3) oder SQL Server 2017 Kumulatives Update 26 (CU26) angewendet haben und eine Prozedur zum Bereinigen der gespeicherten Prozedur zur Änderungsnachverfolgung sp_flush_commit_table_on_demand oder sp_flush_CT_internal_table_on_demandausführen oder wenn die automatische Bereinigung der Änderungsnachverfolgung ausgeführt wird, erhalten Sie die folgende Fehlermeldung:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
Darüber hinaus werden möglicherweise die folgenden Fehler im Fehlerprotokoll SQL Server protokolliert:
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.
Nachdem dieser Fehler aufgetreten ist, kann die Änderungsnachverfolgung die Einträge aus der Seitlichen Tabelle oder sysCommittab-Tabelle nicht mehr bereinigen.
Ursache
SQL Server 2016 SP3 und SQL Server 2017 CU26 wurde die neue Tabelle "dbo" eingeführt. MSchange_tracking_history, und eine neue gespeicherte Prozedur, sys.sp_add_ct_history, um den Verlauf der Bereinigung der Änderungsnachverfolgung zu zeichnen. Diese Tabelle hat die Spalte cleanup_version, die derzeit als INT-Datentyp deklariert ist. Die sys.sp_add_ct_history Prozedur verfügt über einen -Parameter @cleanup_version, der auch als INT deklariert ist. Bei einem ausgelastet System, das die Änderungsnachverfolgung verwendet, kann die Bereinigungsversion einen Bereich von GANZINT in einem bestimmten Intervall überarbeiten. Wenn dann die Bereinigung zur Änderungsnachverfolgung ausgeführt wird, wird versucht, einen BIGINT-Wert in die INT-Spalte dieser Tabelle zu einfügen. Dadurch wird der im Abschnitt "Symptome" beschriebene Fehler generiert.
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server:
Kumulatives Update 27 für SQL Server 2017
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server:
Hotfix-Informationen bei Bedarf:
Dieses Problem wurde mit dem folgenden On-Demand-Hotfix für SQL Server:
Problemumgehung
Wenn dieses Problem auftreten, stellen Sie zum vorherigen Build zurück, indem Sie SQL Server 2016 SP3 oder SQL Server 2017 CU26 deinstallieren. Microsoft untersucht dieses Problem zur aktiven Zeit und wird diesen Artikel mit weiteren Informationen und zusätzlichen Anleitungen aktualisieren, sobald diese Informationen verfügbar sind.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Erfahren Sie mehr über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.