Síntomas
Después de aplicar SQL Server Service Pack 3 (SP3) o SQL Server 2017 actualización acumulativa 26 (CU26) y ejecutar un procedimiento almacenado de limpieza de seguimiento de cambios, sp_flush_commit_table_on_demand o sp_flush_CT_internal_table_on_demand,o si se ejecuta la limpieza automática de seguimiento de cambios, recibirá el siguiente mensaje de error:
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber
Error converting data type numeric to int.
Además, es posible que se registren los siguientes errores en el SQL Server de errores:
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.
Después de encontrar este error, la limpieza automática de seguimiento de cambios no puede limpiar las entradas de la tabla lateral o de la tabla syscommittab.
Causa
SQL Server 2016 SP3 y SQL Server 2017 CU26 introdujeron una nueva tabla, dbo. MSchange_tracking_historyy un nuevo procedimiento almacenado, sys.sp_add_ct_history, para registrar el historial de limpieza de seguimiento de cambios. Esta tabla tiene una columna, cleanup_version, que se declara actualmente como tipo de datos INT. El sys.sp_add_ct_history almacenado tiene un parámetro, @cleanup_version, que también se declara como INT. En un sistema ocupado que usa el seguimiento de cambios, la versión de limpieza puede cruzar un rango de INT en un intervalo determinado. Después, cuando se ejecute la limpieza de seguimiento de cambios, intentará insertar un valor BIGINT en la columna INT de esta tabla. Esto genera el error que se describe en la sección "Síntomas".
Solución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Actualización acumulativa 27 para SQL Server 2017
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Información de revisiones a petición:
Este problema se ha corregido en la siguiente revisión a petición para SQL Server:
Solución alternativa
Si encuentra este problema, vuelva a la compilación anterior desinstalando SQL Server 2016 SP3 o SQL Server 2017 CU26. Microsoft está investigando activamente este problema y actualizará este artículo con más información y instrucciones adicionales cuando esa información esté disponible.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtenga información sobre la terminología que Usa Microsoft para describir las actualizaciones de software.