Симптоми
Когато изпълнявате заявка в Microsoft SQL Server 2012 или SQL Server 2014 и следващите условия са верни, в SQL Server 2012 се създава подоптимални планове за изпълнение:
-
Заявката съдържа казус, Когато, след товаи друго изказване.
-
Командата if има константно условие, което се оценява на "FALSE".
-
Командата след това съдържа клауза Select .
Забележки
-
В плана за изпълнение това изявление се изчислява и сравнява с isFalseOrNull(0). Обаче командата If винаги изчислява "FALSE".
-
Този проблем не възниква в Microsoft SQL Server 2008 R2
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Сборна актуализация 1 за SQL Server 2014 /en-us/help/2931693
Кумулативна актуализация 7 за SQL Server 2012 SP1 /en-us/help/2894115
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".