Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine gespeicherte Prozedur, mit der eine temporäre Tabelle in Microsoft SQL Server erstellt wird.
-
Sie führen eine Abfrage aus, die die gespeicherte Prozedur ausgibt, und die Abfrage erfüllt die folgenden Bedingungen:
-
Die Abfrage verweist auf die temporäre Tabelle, die von der gespeicherten Prozedur erstellt wird.
-
Die Abfrage hat eine WHERE-Klausel, die nicht von Indizes abgedeckt wird, und das Feature "fehlende Indizes" ist aktiviert.
-
-
Es wird davon ausgegangen, dass die gespeicherte Prozedur gleichzeitig aus mehreren Instanzen aufgerufen wird. Dann werden die temporären Tabellen häufig erstellt und gelöscht, was zu häufigen erstellen und Löschen der entsprechenden Einträge für die fehlenden Indizes führt.
-
In diesem Fall erhalten Sie möglicherweise einen Fehler bei der Zugriffsverletzung, wenn eine ausstehende Abfrage der gespeicherten Prozedur abgebrochen wird.
Fehlerbehebung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Kumulatives Update 2 für SQL Server 2017
Kumulatives Update 9 für SQL Server 2016 RTM
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes Kumulatives Update für SQL Server 2017
Problemumgehung
Die Problemumgehung für dieses Problem besteht darin, das Ablaufverfolgungsflag 2392 zu aktivieren, das die Sammlung fehlender Indizes unterdrückt.
Weitere Informationen
Weitere Informationen zum Feature "fehlende Indizes" finden Sie unter dem folgenden Link:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Erfahren Sie mehr über die Terminologie, mit der Microsoft Softwareupdates beschreibt.