KB2894305 - CORRECTIF : un plan d’exécution sous-optimal est généré lors de l’exécution d’une requête dans SQL Server 2012 ou SQL Server 2014

S’applique à
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptômes

Quand vous exécutez une requête dans Microsoft SQL Server 2012 ou SQL Server 2014 et que les conditions suivantes sont remplies, un plan d’exécution sous-optimal est généré dans SQL Server 2012 :

  • La requête contient une instruction Case, When, Then et Else.
  • L’instruction When a une condition constante qui prend la valeur « false ».
  • L’instruction Then contient une clause Select.

Notes

  • Dans le plan d’exécution, l’instruction Then est évaluée et comparée à isFalseOrNull(0). Toutefois, l’instruction When prend toujours la valeur « false ».
  • Ce problème ne se produit pas dans Microsoft SQL Server 2008 R2

      

Résolution

Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.

Mise à jour cumulative 1 pour SQL Server 2014 /en-us/help/2931693

Mise à jour cumulative 7 pour SQL Server 2012 SP1 /en-us/help/2894115

À 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 :

      

État

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