Problembeschreibung
Angenommen, Sie aktivieren das Feature Change Data Capture (CDC) für eine Tabelle, um eine Protokollüberprüfung in Microsoft SQL Server auszuführen. Der pollinginterval-Parameter wird in der gespeicherten sys.sp_cdc_scan Prozedur von Sekunden (s) in Stunden (h) konvertiert. Wenn der pollinginterval-Parameter jedoch größer als eine Stunde (>3600 s) ist, stellen Sie fest, dass das konvertierte Ergebnis falsch ist.
deklarieren @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
festlegen @pollinginterval = 3600
Wählen Sie @seconds = @pollinginterval % 60
aus.
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
wählen Sie @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
aus.
--- Nächster Versuch stattdessen
unterhalb der Zeile
--- wählen Sie @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
Wählen Sie @hours, @minutes, @seconds
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Kumulatives Update 12 für SQL Server 2017
Kumulatives Update 3 für SQL Server 2016 SP2
Kumulatives Update 12 für SQL Server 2016 SP1
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes kumulatives Update für SQL Server 2017
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Erfahren Sie mehr über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.