Příznaky
Předpokládejme, že máte nainstalovaný Microsoft SQL Server 2017 nebo 2019 a že běží s výchozím odhadem mohutnosti (CE). Spustíte dotaz, který má predikát filtru ve sloupci Col1. Predikáty dotazů mají vnitřní hodnotu VELKÁ, MALÁ nebo RTRIM. Col1 obsahuje statistiky, které má použít optimalizátor. V tomto scénáři můžete pozorovat nepřesné odhady mohutnosti a to, že SQL Server používá neefektivní plán. Následuje několik dotazů, které mají predikáty:
SELECT person_id FROM Person WHERE (email LIKE UPPER(N'@live.com%'))
SELECT person_id FROM Person WHERE (email = UPPER(N'msft@live.com'))
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
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 2019
- Nejnovější kumulativní aktualizace pro SQL Server 2017
Poznámka Aby se tato oprava projevila, vyžaduje jednu z následujících akcí:
- QUERY_OPTIMIZER_HOTFIXES konfiguraci oboru databáze nastavenou na ZAPNUTO
- Použití ENABLE_QUERY_OPTIMIZER_HOTFIXES POUŽÍT TIP
- Povolit příznak sledování 4199
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.