KB2938462 - ÅTGÄRD: Information om saknade eller fel uppgifter om saknade index returneras när du kör en fråga i SQL Server 2014

Gäller för
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptom

Anta att du använder Microsoft SQL Server 2014. Du kan stöta på följande två problem som ingår i Viktig information om SQL Server 2014:

  • Rapporten Saknade indexdetaljer innehåller felaktigt kolumner för minnesoptimerad tabell

    Problem: Om SQL Server 2014 identifierar ett saknat index för en fråga i en minnesoptimerad tabell rapporteras ett saknat index i SHOWPLAN_XML, samt i saknade index-DMV:er, till exempel sys.dm_db_missing_index_details. I vissa fall innehåller de indexuppgifter som saknas kolumner. Eftersom alla kolumner implicit ingår i alla index i minnesoptimerade tabeller är det inte tillåtet att uttryckligen ange inkluderade kolumner med minnesoptimerade index.

  • Indexinformation som saknas utelämnar index som saknas om det finns ett hash-index men som inte är lämpligt för frågan

    Problem: Om du har ett hashindex för kolumner i en minnesoptimerad tabell som refereras i en fråga, men indexet inte kan användas för frågan, rapporterar SQL Server 2014 inte alltid ett saknat index i SHOWPLAN_XML och i DMV-sys.dm_db_missing_index_details.

    I synnerhet om en fråga innehåller likhetspredikat som involverar en delmängd av indexnyckelkolumnerna eller om den innehåller olikhetspredikat som involverar indexnyckelkolumnerna, kan HASH-indexet inte användas som det är, och ett annat index skulle krävas för att köra frågan effektivt.

Orsak

Problemen beror på att logiken som saknas i frågeoptimeraren inte skiljer mellan de traditionella icke-klustrade indexen i diskbaserade tabeller och de nya indextyperna för minnesoptimerade tabeller.

Lösning

Problemen åtgärdades först i följande kumulativa uppdatering av SQL Server. 

Kumulativ uppdatering 1 för SQL Server 2014 /en-us/help/2931693

Om kumulativa uppdateringar för SQL Server

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

      

Lösning

Använd följande lösningar för att kringgå de här problemen:

  • Lösning på problemet: Indexinformation saknas felaktigt Rapporten innehåller kolumner för minnesoptimerad tabell

    Ange inte INCLUDE-satsen med index för minnesoptimerade tabeller.

  • Lösning på problemet: Indexinformation saknas utelämnar index som saknas om det finns ett hash-index men som inte är lämpligt för frågan

    Om du använder hash-index granskar du frågorna och frågeplanerna för att avgöra om frågorna kan dra nytta av indexsökningsåtgärder på en delmängd av indexnyckeln eller indexsökningsåtgärder på olikhetspredikat. Om du behöver söka på en delmängd av indexnyckeln använder du antingen ett icke-grupperat index eller ett HASH-index på exakt de kolumner som du behöver söka efter. Om du behöver söka på ett olikhetspredikat använder du ett NONCLUSTERED index i stället för HASH.

Obs: Lösningarna kommer från Viktig information om SQL Server 2014

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".