Příznaky
Zvažte následující scénář:
-
Máte uloženou proceduru, která vytvoří dočasnou tabulku na serveru Microsoft SQL Server.
-
Spustíte dotaz, který problémy uloženou procedurou, a dotaz splňuje následující podmínky:
-
Dotaz odkazuje na dočasnou tabulku vytvořenou uloženou procedurou.
-
Dotaz obsahuje klauzuli WHERE, která nepokrývá žádné indexy, a je povolená funkce chybějící indexy.
-
-
Předpokládejme, že uložená procedura je souběžně volána z více instancí. Dočasné tabulky jsou často vytvářeny a odhozeny, což vede k častému vytváření a odstraňování odpovídajících záznamů chybějících indexů.
-
V této situaci se může stát, že pokud se zruší dotaz čekající na uložení uložené procedury, může se zobrazit chyba narušení přístupu.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích systému SQL Server:
Kumulativní aktualizace 2 pro SQL Server 2017
Kumulativní aktualizace 9 pro SQL Server 2016 RTM
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 SQL serveru:
Nejnovější kumulativní aktualizace pro SQL Server 2017
Alternativní řešení
Alternativním řešením tohoto problému je povolit příznak trasování (TF) 2392 , který potlačuje kolekci chybějících indexů.
Další informace
Další informace o funkci chybějících indexů najdete v tomto článku:
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
Informace o terminologiipoužívané společností Microsoft k popisu aktualizací softwaru.