KB4459220 - OPRAVA: Při převodu parametru "pollinginterval" ze sekund na hodiny v sys.sp_cdc_scan v SQL Server dojde k nesprávným výsledkům

Platí pro
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)

Příznaky

Předpokládejme, že povolíte funkci Change Data Capture (CDC) v tabulce, aby se spustila kontrola protokolu v Microsoft SQL Server. Parametr pollinginterval je převeden ze sekund (s) na hodiny (h) v sys.sp_cdc_scan uložené proceduře. Pokud je však parametr pollinginterval větší než jedna hodina (>3600 s), všimnete si, že převedený výsledek je nesprávný.

Poznámka

deklarace @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
  set @pollinginterval = 3600
  vybrat @seconds = @pollinginterval % 60
  select @minutes = ((@pollinginterval - @seconds) / 60) % 60
  select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Místo toho další pokus pod řádkem
--- select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
  select @hours, @minutes, @seconds

Řešení

Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:

Kumulativní aktualizace 12 pro SQL Server 2017

Kumulativní aktualizace 3 pro SQL Server 2016 SP2

Kumulativní aktualizace 12 pro SQL Server 2016 SP1

Kumulativní aktualizace 1 pro SQL Server 2014 SP3

Kumulativní aktualizace 14 pro SQL Server 2014 SP2

Informace o kumulativních aktualizacích pro SQL Server:

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.