KB4459220 - CORRECTIF : des résultats incorrects se produisent lorsque vous convertissez le paramètre « pollinginterval » de secondes en heures dans sys.sp_cdc_scan dans SQL Server

S’applique à
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)

Symptômes

Supposons que vous activez la fonctionnalité Modifier les données Capture (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.

Remarque

declare @pollinginterval bigint, @seconds bigint, @minutes bigint, @hours bigint
  set @pollinginterval = 3600
  sélectionner @seconds = @pollinginterval % 60
  select @minutes = ((@pollinginterval - @seconds) / 60) % 60
  select @hours = (@pollinginterval - (@minutes * 60) - @seconds) / 60
--- Prochaine tentative sous la ligne à la place
--- select @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

Mise à jour cumulative 1 pour SQL Server 2014 SP3

Mise à jour cumulative 14 pour SQL Server 2014 SP2

À propos des mises à jour cumulatives pour SQL Server :

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

Dernière mise à jour cumulative pour SQL Server 2016

Dernière mise à jour cumulative pour SQL Server 2014

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.