Síntomas
Suponga que habilita la característica Cambiar captura de datos (CDC) en una tabla para ejecutar un examen de registro en Microsoft SQL Server. El parámetro pollinginterval se convierte de segundos (s) a horas (h) en el procedimiento almacenado de sys.sp_cdc_scan . Sin embargo, cuando el parámetro pollinginterval es mayor que una hora (>3600 s), observe que el resultado convertido es incorrecto.
declare @pollinginterval bigint, @seconds bigint, @minutes bigint @hours bigint
set @pollinginterval = 3600 select @seconds = @pollinginterval % 60 select @minutes = ((@pollinginterval - @seconds) / 60) % 60 select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 --- siguiente intento debajo de la línea en su lugar --- seleccionar @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60 seleccionar @hours, @minutes @secondsSolución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Actualización acumulativa 12 para SQL Server 2017
Actualización acumulativa 3 para SQL Server 2016 SP2
Actualización acumulativa 12 para SQL Server 2016 SP1
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. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:
Actualización acumulativa más reciente de SQL Server 2017
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtén información sobre la terminologíaque usa Microsoft para describir las actualizaciones de software.