Simptome
Pretpostavimo da ste omogućili funkciju "Promena hvatanja podataka (CDC)" u tabeli da biste pokrenuli skeniranje evidencije u Microsoft SQL Server. Parametar pollinginterval se konvertuje iz sekundi (s) u časove (h) u uskladištenoj proceduri sys.sp_cdc_scan ankete. Međutim, kada je parametar pollinginterval veći od jednog sata (>3600 s), primetićete da je konvertovan rezultat netačan.
declare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
postavi @pollinginterval = 3600
select @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
izaberite @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Umesto toga, sledeći pokušaj ispod reda
--- izaberite @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
izaberite @hours, @minutes, @seconds
Rezoluciju
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
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.
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 kojuMicrosoft koristi za opisivanja softverskih ispravki.