Příznaky
Vezměte v úvahu následující scénář:
Máte uloženou proceduru, která vytvoří dočasnou tabulku v systému Microsoft SQL Server.
Spustíte dotaz, který má v uložené proceduře problém, a dotaz splňuje následující podmínky:
- Dotaz odkazuje na dočasnou tabulku vytvořenou uloženou procedurou.
- Dotaz obsahuje klauzuli WHERE, kterou nepokrývá žádný index, a funkce chybějících indexů je povolená.
Předpokládejme, že uložená procedura je volána souběžně z více instancí. Pak se dočasné tabulky často vytvářejí a odstraňují, což vede k častému vytváření a odstraňování odpovídajících záznamů pro chybějící indexy.
Pokud se v této situaci zruší čekající dotaz 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 pro SQL Server:
Kumulativní aktualizace 2 pro SQL Server 2017
Kumulativní aktualizace 9 pro SQL Server 2016 RTM
Kumulativní aktualizace 6 pro SQL Server 2016 SP1
Kumulativní aktualizace 8 pro SQL Server 2014 SP2
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 2017
Nejnovější kumulativní aktualizace pro SQL Server 2016
Nejnovější kumulativní aktualizace pro SQL Server 2014
Alternativní řešení
Alternativním řešením tohoto problému je povolit příznak trasování (TF) 2392 , který potlačí shromažďování chybějících indexů.
Další informace
Další informace o funkci chybějících indexů naleznete na následujícím odkazu:
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.