Sintomi
Si supponga di abilitare la funzionalità Change Data Trascrivi (CDC) in una tabella per eseguire un'analisi del log in Microsoft SQL Server. Il parametro pollinginterval viene convertito da secondi (s) a ore (h) nella stored procedure sys.sp_cdc_scan . Tuttavia, quando il parametro pollinginterval è maggiore di un'ora (>3600 s), si noterà che il risultato convertito non è corretto.
Nota
dichiarare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
set @pollinginterval = 3600
seleziona @seconds = @pollinginterval % 60
select @minutes = ((@pollinginterval - @seconds) / 60) % 60
select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Tentativo successivo sotto la riga
--- selezionare @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
seleziona @hours, , @minutes@seconds
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 12 per SQL Server 2017
Aggiornamento cumulativo 3 per SQL Server 2016 SP2
Aggiornamento cumulativo 12 per SQL Server 2016 SP1
Aggiornamento cumulativo 1 per SQL Server 2014 SP3
Aggiornamento cumulativo 14 per SQL Server 2014 SP2
Informazioni sugli aggiornamenti cumulativi per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:
Ultimo aggiornamento cumulativo per SQL Server 2017
Ultimo aggiornamento cumulativo per SQL Server 2016
Ultimo aggiornamento cumulativo per SQL Server 2014
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.