KB2894305 - FIX: Suboptimaal uitvoeringsplan wordt gegenereerd wanneer u een query uitvoert in SQL Server 2012 of SQL Server 2014

Van toepassing op
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)

Symptomen

Wanneer u een query uitvoert in Microsoft SQL Server 2012 of SQL Server 2014 en aan de volgende voorwaarden wordt voldaan, wordt er een suboptimaal uitvoeringsplan gegenereerd in SQL Server 2012:

  • De query bevat de instructie Case, When, Then en Else.
  • De When-instructie heeft een constante voorwaarde die resulteert in "onwaar".
  • De instructie Then bevat een Select-component.

Notities

  • In het uitvoeringsplan wordt de instructie Then geëvalueerd en vergeleken met isFalseOrNull(0). De instructie When levert altijd "onwaar" op.
  • Dit probleem treedt niet op in Microsoft SQL Server 2008 R2

      

Oplossing

Het probleem werd voor het eerst opgelost in de volgende cumulatieve update van SQL Server.

Cumulatieve update 1 voor SQL Server 2014 /nl-nl/help/2931693

Cumulatieve update 7 voor SQL Server 2012 SP1 /nl-nl/help/2894115

Informatie over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

      

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.