Symptomer
Antag, at du kører en forespørgsel med aggregater og joinforbindelse (f.eks.: TÆL MED GROUP BY) på en tabel med filtreret indeks i SQL Server, der bruges som en fjernserver, og brugeren ikke har tilladelsen VIEW DEFINITION. I dette scenarie tager den sammenkædede server højde for det filtrerede indeks som et fuldt entydigt indeks, og forespørgslen returnerer forkerte resultater.
Flere oplysninger
Når du kører en fjernforespørgsel, bruger den sammenkædede server-proces indeksmetadata til at optimere forespørgslen. Når du ikke har view definition-tilladelse til den database, der forespørges, indikerer metadataene ikke, at indekset er et filtreret indeks, og forespørgselsoptimering anser indekset som et fuldt entydigt indeks. Denne rettelse retter indeksmetadataene for et filtreret indeks, når du ikke har VIEW DEFINITION-tilladelse til at blive overvejet af Forespørgselsoptimering.
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Dette problem er rettet i følgende kumulative opdateringer til SQL Server:
Bemærk!Denne rettelse bør anvendes på den fjern sammenkædede server.
Om kumulative opdateringer til SQL Server:
Hver ny kumulativ opdatering til SQL Server indeholder alle hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Løsning
Du kan løse dette problem ved at prøve en af følgende metoder:
-
Fjern det filtrerede indeks.
-
Tildele visningsdefinitionen til brugeren. Eksempel: GRANT VIEW-DEFINITION TIL test_user;
Referencer
Få mere at vide om terminologien, som Microsoft bruger til at beskrive softwareopdateringer.