Symptômes
Supposons que vous activez la fonctionnalité capture de données modifiées (CDC) sur une table pour exécuter une analyse de journal dans Microsoft SQL Server. Le paramètre pollinginterval est converti de secondes (s) en heures (h) dans la procédure stockée sys.sp_cdc_scan . Toutefois, lorsque le paramètre pollinginterval est supérieur à une heure (>3600 s), vous remarquez que le résultat converti est incorrect.
déclarer @pollinginterval 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
--- Tentative suivante sous la ligne à la place
--- sélectionnez @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60 /60
sélectionnez @hours, @minutes, @seconds
Résolution
Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 12 pour SQL Server 2017
Mise à jour cumulative 3 pour SQL Server 2016 SP2
Mise à jour cumulative 12 pour SQL Server 2016 SP1
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2017
État
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Découvrez la terminologieutilisée par Microsoft pour décrire les mises à jour logicielles.