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.