Příznaky
Pokud spustíte dotaz v systému Microsoft SQL Server 2012 nebo SQL Server 2014 a jsou splněny následující podmínky, vygeneruje se v systému SQL Server 2012 neoptimální plán provedení:
- Dotaz obsahuje příkaz Case, When, Then a Else.
- Příkaz When má konstantní podmínku, která se vyhodnocuje jako "false".
- Příkaz Then obsahuje klauzuli Select.
Poznámky
- V plánu provedení se příkaz Then vyhodnotí a porovná s isFalseOrNull(0). Příkaz When se ale vždy vyhodnotí jako "false".
- K tomuto problému nedochází v systému Microsoft SQL Server 2008 R2
Řešení
Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.
Kumulativní aktualizace 1 pro SQL Server 2014 /en-us/help/2931693
Kumulativní aktualizace 7 pro SQL Server 2012 SP1 /en-us/help/2894115
Informace o kumulativních aktualizacích pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2014
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP1
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.