KB4459220 - POPRAWKA: Niepoprawne wyniki pojawiają się po konwersji parametru "pollinginterval" z sekund na godziny w sys.sp_cdc_scan w SQL Server

Dotyczy
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 on Windows (all editions)

Objawy

Załóżmy, że włączono funkcję zmiany Rejestrator danych (CDC) dla tabeli, aby uruchomić skanowanie dziennika w usłudze Microsoft SQL Server. Parametr pollinginterval jest konwertowany z sekund (s) na godziny (h) w procedurze składowanej sys.sp_cdc_scan . Jeśli jednak parametr pollinginterval jest większy niż jedna godzina (>3600 s), można zauważyć, że przekonwertowany wynik jest nieprawidłowy.

Uwaga

zadeklaruj @pollinginterval bigint, @seconds bigint, @minutes bigint @hours , bigint
  zestaw @pollinginterval = 3600
  select @seconds = @pollinginterval % 60
  select @minutes = ((@pollinginterval - @seconds) / 60) % 60
  select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Zamiast tego następna próba poniżej wiersza
--- select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
  wybierz , @hours@minutes,@seconds

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla programu SQL Server:

Aktualizacja zbiorcza 12 dla programu SQL Server 2017

Aktualizacja zbiorcza 3 dla programu SQL Server 2016 z dodatkiem SP2

Aktualizacja zbiorcza 12 dla programu SQL Server 2016 z dodatkiem SP1

Aktualizacja zbiorcza 1 dla programu SQL Server 2014 z dodatkiem SP3

Aktualizacja zbiorcza 14 dla programu SQL Server 2014 z dodatkiem SP2

Informacje o aktualizacjach zbiorczych programu SQL Server:

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2017

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2016

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.