Příznaky
Představte si následující scénář:
-
Používáte databázi s úrovní kompatibility nastavenou na 130 v Microsoft SQL Server 2016.
-
Spustíte dotaz, který přistupuje k indexu úložiště sloupců a indexu úložiště řádků nebo haldě a obsahuje predikát filtru (klauzule WHERE).
V tomto scénáři SQL Server nebude moct nasdílit predikát filtru blíže k operátoru zdroje dat (prohledávání tabulek nebo indexů nebo hledání). To může způsobit neoptimální výkon dotazů.
Kromě toho platí, že pokud dotaz používá výraz (například převod typu), kde jeho správnost závisí na filtrovaných datech (například sloupec tabulky znaků se převede na int, ale pouze podmnožina hodnot obsahuje platnou reprezentaci int a tato podmnožina je identifikována predikátem filtru), může dotaz selhat s chybou převodu dat, která se podobá jedné z následujících:
Zpráva 245, úroveň 16, stav 1, řádek 20
při převodu hodnoty varcharu 0,5 na datový typ int selhal.
Zpráva 8114, úroveň 16, stav 5, řádek 34
Chyba při převodu datového typu varchar na bigint.
Řešení
Tento problém je opraven v následující kumulativní aktualizaci pro SQL Server:
Kumulativní aktualizace 2 pro SQL Server 2016 SP1
PoznámkaAby se tato oprava projevila, musíte povolit opravy hotfix optimalizátoru dotazů.
Opravy hotfix optimalizátoru dotazů můžete povolit pomocí jedné z následujících možností: příznak trasování 4199, nastavení Konfigurace v oboru databáze QUERY_OPTIMIZER_HOTFIXES=ON (k dispozici v SQL Server 2016 a novějších verzích) nebo USE_HINT možnost dotazu ENABLE_QUERY_OPTIMIZER_HOTFIXES (k dispozici v SQL Server 2016 SP1 a novějších verzích).
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 2016
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Seznamte se s terminologií, kterou Microsoft používá k popisu aktualizací softwaru.