Ознаки
Припустімо, що функцію change Data Capture (CDC) на таблицю запустити журнал сканування в Microsoft SQL Server. Параметр pollinginterval перетворюється з секунд (и) на години (h) у sys.sp_cdc_scan збереженій процедурі. Проте якщо параметр pollinginterval перевищує одну годину (>3600 с), ви помітите, що перетворений результат неправильний.
оголосити @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
виберіть @seconds = @pollinginterval % 60
виберіть @minutes = ((@pollinginterval - @seconds) / 60) % 60
виберіть @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- наступної спроби під рядком
--- виберіть @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
виберіть @hours, @minutes, @seconds
Спосіб вирішення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Сукупний пакет оновлень 12 для SQL Server 2017
Сукупний пакет оновлень 3 для SQL Server 2016 із пакетом оновлень 2 (SP2)
Сукупний пакет оновлень 12 для SQL Server 2016 з пакетом оновлень 1 (SP1)
Сукупний пакет оновлень 1 для SQL Server 2014 із пакетом оновлень 3 (SP3)
Сукупний пакет оновлень 14 для SQL Server 2014 з пакетом оновлень 2 (SP2)
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та всі виправлення системи безпеки, які входили в попередній сукупний пакет оновлень. Ознайомтеся з останніми сукупними оновленнями для SQL Server:
Останнє сукупне оновлення для SQL Server 2017 р.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Посилання
Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.