Symptomer
Antag, at du aktiverer funktionen Change Data Capture (CDC) i en tabel for at køre en logscanning i Microsoft SQL Server. Forespørgselsintervalparameteren konverteres fra sekunder (s) til timer (h) i den sys.sp_cdc_scan lagrede procedure. Men når forespørgselsintervalparameteren er større end en time (>3600 s), bemærker du, at det konverterede resultat er forkert.
erklære @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
vælg @seconds = @pollinginterval % 60
vælg @minutes = ((@pollinginterval - @seconds) / 60) % 60
vælg @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Næste forsøg under linjen i stedet
--- vælge @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
skal du vælge @hours, @minutes @seconds
Løsning
Dette problem er rettet i følgende kumulative opdateringer til SQL Server:
Samlet opdatering 12 til SQL Server 2017
Samlet opdatering 3 til SQL Server 2016 SP2
Samlet opdatering 12 til SQL Server 2016 SP1
Hver ny samlet opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den tidligere akkumulerede opdatering. Se de seneste kumulative opdateringer til SQL Server:
Seneste akkumulerede opdatering til SQL Server 2017
Status
Microsoft har bekræftet, at problemet findes 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.