Symptom
Anta att du aktiverar funktionen för insamling av ändringar av data i en tabell för att köra en loggnings sökning i Microsoft SQL Server. Parametern pollinginterval konverteras från sekunder till timmar (h) i den sys.sp_cdc_scan lagrade proceduren. När pollinginterval -parametern är större än en timme (>3600 s) ser du att det konverterade resultatet är fel.
deklarera @pollinginterval bigint, @seconds bigint, @minutes bigint @hours bigint Ange @pollinginterval = 3600 Välj @seconds = @pollinginterval %60 Välj @minutes = (((@pollinginterval-@seconds)/60) %60 Välj @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60 ---Nästa försök under raden i stället ---Välj @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60/60 Välj @hours @minutes @seconds
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 12 för SQL Server 2017
Kumulativ uppdatering 3 för SQL Server 2016 SP2
Kumulativ uppdatering 12 för SQL Server 2016 SP1
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2017
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologinsom Microsoft använder för att beskriva program varu uppdateringar.