症状
假设你在表中启用更改数据捕获 (CDC) 功能,以便在 Microsoft SQL Server 中运行日志扫描。 pollinginterval 参数在sys.sp_cdc_scan存储过程中从秒 () 转换为小时 (小时) 。 但是,当 pollinginterval 参数大于一小时 (>3600 秒) 时,你注意到转换后的结果不正确。
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
---下一次尝试换行
---选择@hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
依次选择@hours、@minutes、@seconds
解决方法
此问题在以下SQL Server累积更新中已修复:
SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的术语。