Симптоми
Обмислете следния сценарий:
-
Имате съхранена процедура, която създава временна таблица в Microsoft SQL Server.
-
Изпълните заявка, в която се съхраняват проблемите с процедурите, и заявката отговаря на следните условия:
-
Препратките към заявката към временната таблица, която е създадена от съхранената процедура.
-
Заявката има клауза WHERE, която не е покрита от каквито и да е индекси, и функцията за липсващи индекси е разрешена.
-
-
Приемете, че съхранената процедура се извиква едновременно от няколко екземпляра. След това временните таблици се създават и намаляват често, което ще доведе до често създаване и изтриване на съответните записи за липсващи индекси.
-
В този случай, ако чакаща заявка за съхранената процедура е отменена, е възможно да получите грешка за нарушение на достъпа.
Решение
Този проблем е коригиран в следните сборни актуализации за SQL Server:
Кумулативна актуализация 2 за SQL Server 2017
Кумулативна актуализация 9 за SQL Server 2016 RTM
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Най-новата сборна актуализация за SQL Server 2017
Заобиколно решение
Заобиколното решение за този проблем е да се разреши флагът за проследяване (TF) 2392 , който ще потисне събирането на липсващи индекси.
Повече информация
За да получите повече информация за функцията за липсващи индекси, вижте следната връзка:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.