KB4459220 – POPRAVKA: Netačni rezultati se javljaju kada konvertujete parametar "pollinginterval" iz sekundi u časove u sys.sp_cdc_scan u SQL Server

Primenjuje se na
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 on Windows (all editions)

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.