Symptomer
Anta at du bruker Microsoft SQL Server-2014. Du kan støte på følgende to problemer som er inkludert i Produktmerknadene for SQL Server-2014:
-
Detaljer om manglende indeks feilaktig rapportere inkludert kolonner for minne-optimalisert tabell
Problem: Hvis SQL Server-2014 oppdager en manglende indeks for en spørring i en tabell som er optimalisert for minne, rapporterer en manglende indeks i SHOWPLAN_XML, i tillegg til i indeksen mangler DMVs for eksempel sys.dm_db_missing_index_details. I noen tilfeller inneholder manglende indeks detaljene inkludert kolonner. Som alle kolonner er implisitt inkludert med alle indekser på minne-optimalisert tabeller, er det ikke tillatt å angi eksplisitt inkluderte kolonner med minne-optimalisert indekser. -
Detaljer om manglende indeks utelater mangler indekser hvis en hash-indeks finnes, men er ikke egnet for spørringen
Problem: Hvis du har en HASH-indeks på kolonner i en tabell for minne-optimalisert som det refereres til i en spørring, men kan ikke brukes i indeksen for spørringen, vil ikke SQL Server 2014 alltid rapportere en manglende indeks i SHOWPLAN_XML og DMV-sys.dm_db_missing_index_details.
Spesielt hvis en spørring inneholder likhets-predikater som involverer et delsett av nøkkelkolonnene indeks, eller hvis den inneholder ulikhet predikater som involverer kolonnene for indeksen, HASH-indeks kan ikke brukes som den er og en annen indeks må utføre spørringen effektivt.
Årsak
Problemene oppstår fordi det mangler indeks logikken i spørringsoptimaliseringen ikke skille mellom tradisjonell Nei sektorgrupperte indekser på diskbaserte tabeller og de nye indeks-typene for minne-optimalisert tabeller.
Oppløsning
Problemene ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 1 for SQLServer-2014/en-us/help/2931693
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Løsningen
Hvis du vil omgå disse problemene, kan du bruke følgende løsninger:
-
Løsningen på problemet: manglende Indeksdetaljer feilaktig rapportere inkludert kolonner for minne-optimalisert tabell
Ikke angi INCLUDE-setningen med indekser på minne-optimalisert tabeller. -
Løsningen på problemet: manglende Indeksdetaljer utelater mangler indekser hvis en hash-indeks finnes, men er ikke egnet for spørringen
I tilfelle du bruker hash-indekser, undersøke spørringer og spørringsplaner til å fastslå om spørringene, kan dra nytte av indeks Søk operasjoner på et delsett av indeks-nøkkel eller indeks Søk operasjoner på ulikhet predikater. Hvis du trenger å søke på et delsett av nøkkelen for indeksen, Bruk en ikke-GRUPPERTE indeksen, eller bruke en HASH-indeks på kolonnene du vil søke på. Hvis du trenger å søke på en ulikhet predikat, kan du bruke en ikke-GRUPPERTE indeksen i stedet for hash-kode.
Obs! Løsningene er fra Produktmerknadene for SQL Server-2014
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".