Příznaky
Předpokládejme, že povolíte funkci Change Data Capture (CDC) v tabulce ke spuštění prohledávání protokolu v Microsoft SQL Server. Parametr pollinginterval se v sys.sp_cdc_scan uložené proceduře převede z sekund (s) na hodiny (h). Pokud je však parametr pollinginterval větší než jedna hodina (>3600 s), zjistíte, že převedený výsledek je nesprávný.
deklarace @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
select @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Další pokus pod řádkem
--- vyberte @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
vyberte @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
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
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Seznamte se s terminologií, kterou Microsoft používá k popisu aktualizací softwaru.