Symptomy
Załóżmy, że w celu przeprowadzenia skanowania dziennika w programie Microsoft SQL Server jest włączana funkcja funkcji przechwytywania zmian danych (Przechwyć dane ) w tabeli. Parametr pollinginterval jest konwertowany z sekund (s) na godziny (h) w procedurze składowanej sys.sp_cdc_scan . Jeśli jednak parametr pollinginterval jest dłuższy niż jedna godzina (>3600 s), oznacza to, że przekonwertowany wynik jest nieprawidłowy.
DECLARE @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint Set @pollinginterval = 3600 Wybierz pozycję @seconds = @pollinginterval %60 Wybierz pozycję @minutes = ((@pollinginterval-@seconds)/60) %60 Wybierz @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60 ---Następna próba Poprzednia zamiast wiersza ---Wybierz @hours = (@pollinginterval-(@minutes * 60)-@seconds)/60/60 Wybierz pozycję @hours, @minutes, @seconds
Rozwiązanie
Ten problem rozwiązano w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 12 dla programu SQL Server 2017
Zbiorcza aktualizacja 3 dla programu SQL Server 2016 z dodatkiem SP2
Zbiorcza aktualizacja 12 dla programu SQL Server 2016 z dodatkiem SP1
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 z dodatkiem SP3
Zbiorcza aktualizacja 14 dla programu SQL Server 2014 z dodatkiem SP2
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.