Problembeschreibung
Gehen Sie davon aus, dass Sie Microsoft SQL Server 2014 verwenden. Möglicherweise treten die folgenden zwei Probleme auf, die in den Versionshinweisen zu SQL Server 2014enthalten sind:
-
Bei fehlenden Index Details werden fehlerhafte Spalten für den speicheroptimierten TabellenFehler angezeigt: wenn SQL Server 2014 einen fehlenden Index für eine Abfrage in einer speicheroptimierten Tabelle erkennt, wird ein fehlender Index im SHOWPLAN_XML sowie im fehlenden Index DMVs wie sys.dm_db_missing_index_details gemeldet. In einigen Fällen enthalten die fehlenden Index Details die enthaltenen Spalten. Da alle Spalten implizit in alle Indizes von Arbeitsspeicher optimierten Tabellen enthalten sind, ist es nicht zulässig, die enthaltenen Spalten mit speicheroptimierten Indizes explizit anzugeben.
-
Fehlende Index Details verzichten auf fehlende Indizes, wenn ein Hash Index vorhanden ist, aber für das Abfrage Problem nicht geeignet ist: Wenn Sie einen Hash Index für Spalten einer speicheroptimierten Tabelle haben, auf die in einer Abfrage verwiesen wird, der Index aber nicht für die Abfrage verwendet werden kann, meldet SQL Server 2014 nicht immer einen fehlenden Index in SHOWPLAN_XML und im DMV-sys.dm_db_missing_index_details. Insbesondere wenn eine Abfrage Gleichheitsprädikate enthält, die eine Teilmenge der Indexschlüsselspalten beinhalten oder wenn Sie Ungleichheitsprädikate enthält, die die Indexschlüsselspalten einbeziehen, kann der Hash Index nicht so verwendet werden, wie er ist, und ein anderer Index wäre erforderlich, um die Abfrage effizient auszuführen.
Ursache
Die Probleme treten auf, weil die fehlende Index Logik im Abfrageoptimierer zwischen den herkömmlichen nicht gruppierten Indizes auf datenträgerbasierten Tabellen und den neuen Indextypen für Speicher optimierte Tabellen nicht unterschieden wird.
Fehlerbehebung
Die Probleme wurden zunächst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2014 /en-us/help/2931693
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:
Problemumgehung
Verwenden Sie die folgenden Problemumgehungen, um diese Probleme zu umgehen:
-
Problemumgehung: fehlende Index Details, die nicht ordnungsgemäß Bericht enthalten Spalten für Speicher optimierte tableDo geben Sie die INCLUDE-Klausel nicht mit Indizes für Arbeitsspeicher optimierte Tabellen an.
-
Problemumgehung: fehlende Index Details lassen fehlende Indizes zu, wenn ein Hash Index vorhanden ist, aber nicht für den Abfrage Fall geeignet ist, wenn Sie Hash Indizes verwenden, überprüfen Sie die Abfragen und Abfragepläne, um zu ermitteln, ob die Abfragen von Index Suchvorgängen für eine Teilmenge des Indexschlüssels profitieren können, oder um Index Suchvorgänge für Ungleichheitsprädikate zu verwenden. Wenn Sie nach einer Teilmenge des Indexschlüssels suchen müssen, verwenden Sie entweder einen nicht gruppierten Index, oder verwenden Sie einen Hash Index für genau die Spalten, die Sie suchen müssen. Wenn Sie nach einem Ungleichheits Prädikat suchen müssen, verwenden Sie einen nicht gruppierten Index anstelle von Hash.
Hinweis Die Problemumgehungen finden Sie in den Versionshinweisen zu SQL Server 2014
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.