Simptomi
Pretpostavimo da ste omogućili funkciju Change Data Beleženje (CDC) u tabeli da biste pokrenuli skeniranje evidencije u sistemu Microsoft SQL Server. Parametar pollinginterval se konvertuje iz sekundi (s) u časove (h) u sys.sp_cdc_scan uskladištenoj proceduri. Međutim, kada je parametar pollinginterval duži od jednog časa (>3600 s), primetićete da je konvertovani rezultat netačan.
Napomena
@pollinginterval declare 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
--- Sledeći pokušaj umesto toga ispod reda
--- select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
Izaberite @hours, @minutes, @seconds
Rešenje
Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server:
Kumulativna ispravka 12 za SQL Server 2017
Kumulativna ispravka 3 za SQL Server 2016 SP2
Kumulativna ispravka 12 za SQL Server 2016 SP1
Kumulativna ispravka 1 za SQL Server 2014 SP3
Kumulativna ispravka 14 za SQL Server 2014 SP2
Osnovni podaci o kumulativnim ispravkama za SQL Server:
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Najnovija kumulativna ispravka za SQL Server 2017
Najnovija kumulativna ispravka za SQL Server 2016
Najnovija kumulativna ispravka za SQL Server 2014
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.