Príznaky
Zvážte nasledujúci scenár:
-
V microsoft SQL Server 2016 používate databázu s úrovňou kompatibility nastavenou na hodnotu 130.
-
Spustíte dotaz, ktorý pristupuje k indexu ukladacieho priestoru stĺpcov a indexu ukladacieho priestoru riadkov alebo halde, a obsahuje predikát filtra (klauzula WHERE).
V tomto scenári SQL Server nebudú môcť predikát filtra posunúť bližšie k operátoru zdroja údajov (kontrola tabuľky alebo indexu alebo vyhľadávanie). To môže spôsobiť neoptimálny výkon dotazu.
Okrem toho, ak dotaz používa výraz (napríklad konverziu typu), kde jeho správnosť závisí od filtrovaných údajov (napríklad stĺpec tabuľky znakov sa skonvertuje na int, ale iba podmnožina hodnôt obsahuje platné vyjadrenie int a táto podmnožina je identifikovaná predikátom filtra), dotaz môže zlyhať s chybou konverzie údajov, ktorá pripomína jednu z nasledujúcich položiek:
Msg 245, úroveň 16, štát 1, riadok 20
Konverzia zlyhala pri konverzii hodnoty varchar '0,5' na typ údajov int.
Msg 8114, úroveň 16, štát 5, riadok 34
Chyba pri konverzii typu údajov varchar na bigint.
Riešenie
Tento problém je opravený v nasledujúcej kumulatívnej aktualizácii pre SQL Server:
Kumulatívna aktualizácia 2 pre SQL Server 2016 SP1
PoznámkaAk chcete, aby sa táto oprava prejavila, musíte povoliť rýchle opravy optimalizátora dotazov.
Rýchle opravy optimalizátora dotazov môžete povoliť pomocou niektorej z týchto možností: príznak sledovania 4199, nastavenie konfigurácie s rozsahom databázy QUERY_OPTIMIZER_HOTFIXES=ON (k dispozícii v SQL Server 2016 a novších verziách) alebo USE_HINT možnosť dotazu ENABLE_QUERY_OPTIMIZER_HOTFIXES (k dispozícii v SQL Server 2016 SP1 a novších verziách).
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
najnovšiu kumulatívnu aktualizáciu pre SQL Server 2016
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Získajte informácie o terminológii, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.