KB4042232 - OPRAVA: Narušení přístupu při zrušení čekajícího dotazu, pokud je v SQL Server povolena funkce chybějících indexů

Platí pro
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

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:

Funkce chybějících indexů

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.