Symptoms

Assume that you enable the Change Data Capture (CDC) feature on a table to run a log scan in Microsoft SQL Server. The pollinginterval parameter is converted from seconds (s) to hours (h) in the sys.sp_cdc_scan stored procedure. However, when the pollinginterval parameter is greater than one hour (>3600 s), you notice that the converted result is incorrect. 

 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
--- Next attempt below line instead
---  select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
  select @hours, @minutes, @seconds

Resolution

This problem is fixed in the following cumulative updates for SQL Server:

       Cumulative Update 12 for SQL Server 2017

       Cumulative Update 3 for SQL Server 2016 SP2

       Cumulative Update 12 for SQL Server 2016 SP1

       Cumulative Update 1 for SQL Server 2014 SP3

       Cumulative Update 14 for SQL Server 2014 SP2

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2017

Latest cumulative update for SQL Server 2016

Latest cumulative update for SQL Server 2014

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References

Learn about the terminology that Microsoft uses to describe software updates.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!

×