KB4459220 – RETT: Forkerte resultater opstår, når du konverterer parameteren "pollinginterval" fra sekunder til timer i sys.sp_cdc_scan i SQL Server

Gælder for
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 on Windows (all editions)

Symptomer

Antag, at du aktiverer funktionen Change Data Notering (CDC) i en tabel for at køre en logscanning i Microsoft SQL Server.  Pollinginterval-parameteren konverteres fra sekunder (s) til timer (t) i den sys.sp_cdc_scan gemte procedure. Men når pollinginterval-parameteren er større end en time (>3600 sek), bemærker du, at det konverterede resultat er forkert.

Bemærk

Erklære @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
  SET @pollinginterval = 3600
  Vælg @seconds = @pollinginterval % 60
  select @minutes = ((@pollinginterval - @seconds) / 60) % 60
  select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Næste forsøg under linjen i stedet
--- vælg @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
  vælg @hours, @minutes, @seconds

Løsning

Dette problem er rettet i følgende kumulative opdateringer til SQL Server:

Samlet opdatering 12 til SQL Server 2017

Kumulativ opdatering 3 til SQL Server 2016 SP2

Kumulativ opdatering 12 til SQL Server 2016 SP1

Kumulativ opdatering 1 til SQL Server 2014 SP3

Samlet opdatering 14 til SQL Server 2014 SP2

Om kumulative opdateringer til SQL Server:

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:

Seneste kumulative opdatering til SQL Server 2017

Seneste kumulative opdatering til SQL Server 2016

Seneste kumulative opdatering til SQL Server 2014

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Referencer

Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.