Symptome
Nehmen Sie folgendes Szenario an:
Sie verwenden eine gespeicherte Prozedur, die in Microsoft SQL Server eine temporäre Tabelle erstellt.
Sie führen eine Abfrage aus, die von der gespeicherten Prozedur ausgegeben wird, 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 verfügt über eine WHERE-Klausel, die nicht durch Indizes abgedeckt ist, und das Feature "Fehlende Indizes" ist aktiviert.
Angenommen, die gespeicherte Prozedur wird gleichzeitig von mehreren Instanzen aufgerufen. Dann werden die temporären Tabellen häufig erstellt und gelöscht, was zu häufigem Erstellen und Löschen der entsprechenden Datensätze für die fehlenden Indizes führt.
Wenn in diesem Fall eine ausstehende Abfrage der gespeicherten Prozedur abgebrochen wird, kann es zu einem Zugriffsverletzungsfehler kommen.
Lösung
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
Kumulatives Update 6 für SQL Server 2016 SP1
Kumulatives Update 8 für SQL Server 2014 SP2
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes kumulative Update für SQL Server 2017
Neuestes kumulative Update für SQL Server 2016
Neuestes kumulative Update für SQL Server 2014
Problemumgehung
Die Problemumgehung für dieses Problem besteht darin, das Ablaufverfolgungsflag (TF) 2392 zu aktivieren, wodurch die Sammlung fehlender Indizes unterdrückt wird.
Weitere Informationen
Weitere Informationen zur Funktion "Fehlende Indizes" finden Sie unter dem folgenden Link:
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.