Príznaky
Predpokladajme, že povolíte funkciu Change Data Capture (CDC) v tabuľke na spustenie kontroly denníka v microsoft SQL Server. Parameter pollinginterval sa v uloženej procedúre sys.sp_cdc_scan skonvertuje z sekúnd (s) na hodiny (h). Ak je však parameter intervalu vzorkovania väčší ako jedna hodina (>3 600 s), všimnete si, že skonvertovaný výsledok je nesprávny.
declare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
nastaviť @pollinginterval = 3600
select @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Namiesto toho
ďalší pokus pod riadkom
--- vyberte @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
vyberte @hours, @minutes @seconds
Riešenie
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 12 pre SQL Server 2017
Kumulatívna aktualizácia 3 pre SQL Server 2016 SP2
Kumulatívna aktualizácia 12 pre SQL Server 2016 SP1
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Najnovšia kumulatívna aktualizácia pre SQL Server 2017
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.