Oireet
Oletetaan, että suoritat kyselyn, joka sisältää koosteet ja liitokset (esimerkiksi: LASKE JA GROUP BY) taulukossa, jonka SQL Serverissä on suodatettu indeksi ja jota käytetään etäpalvelimena, eikä käyttäjällä ole VIEW DEFINITION -käyttöoikeutta. Tässä skenaariossa linkitetty palvelin pitää suodatettua indeksiä täydellisenä yksilöllisenä indeksinä, ja kysely palauttaa vääriä tuloksia.
Lisätietoja
Kun suoritat etäkyselyn, linkitetty palvelinprosessi optimoi kyselyn indeksin metatietojen avulla. Jos sinulla ei ole kyselyssä olevan tietokannan VIEW DEFINITION -käyttöoikeutta, metatiedot eivät osoita, että indeksi on suodatettu indeksi, ja kyselyn optimointityökalu pitää indeksiä täydellisenä yksilöllisenä indeksinä. Tämä korjaus korjaa suodatetun indeksin metatiedot, jos sinulla ei ole VIEW DEFINITION -käyttöoikeutta kyselyn optimointityökalun harkinnan varalta.
Tila
Microsoft on varmistanut, että tämä on ongelma Koskee-osassa luetelluissa Microsoft-tuotteissa.
Ratkaisu
Tämä ongelma on korjattu seuraavissa SQL Serverin kumulatiivisissa päivityksissä:
Huomautus:Tämä korjaus on otettava käyttöön linkitetyssä etäpalvelimessa.
Tietoja SQL Serverin kumulatiivisista päivityksistä:
Jokainen sql Serverin uusi kumulatiivinen päivitys sisältää kaikki hotfix-korjaukset ja kaikki edellisen kumulatiivisen päivityksen sisältämät suojauskorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
Vaihtoehtoinen menetelmä
Voit kiertää ongelman kokeilemalla jompaakumpaa seuraavista tavoista:
-
Poista suodatettu indeksi.
-
Myönnä näkymän määritelmä käyttäjälle. Ex: GRANT VIEW DEFINITION TO test_user;
Lisätietoja
Lue lisää Microsoftin käyttämästä terminologiasta ohjelmistopäivitysten kuvaileessa.