Simptome
Să presupunem că rulați o interogare cu agregate și asocieri (de exemplu: COUNT WITH GROUP BY) pe un tabel cu index filtrat în SQL Server care este utilizat ca server la distanță, iar utilizatorul nu are permisiunea VIEW DEFINITION. În acest scenariu, serverul legat consideră indexul filtrat ca index unic complet, iar interogarea returnează rezultate incorecte.
Mai multe informații
Când rulați o interogare la distanță, procesul serverului legat utilizează metadate de index pentru a optimiza interogarea. Când nu aveți permisiunea VIEW DEFINITION pentru baza de date interogată, metadatele nu indică faptul că indexul este un index filtrat și optimizatorul de interogare consideră că indexul este un index unic complet. Această remediere corectează metadatele de index pentru un index filtrat atunci când nu aveți permisiunea VIEW DEFINITION pentru a fi examinată de optimizatorul de interogări.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
- Actualizarea cumulativă 9 pentru SQL Server 2019
- Actualizarea cumulativă 22 pentru SQL Server 2017
- Actualizarea cumulativă 15 pentru SQL Server 2016 SP2
Notă: Această remediere ar trebui să se aplice la serverul legat la distanță.
Despre actualizările cumulative pentru SQL Server:
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
- Cea mai recentă actualizare cumulativă pentru SQL Server 2019
- Cea mai recentă actualizare cumulativă pentru SQL Server 2017
- Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Soluție
Pentru a evita această problemă, încercați una dintre următoarele metode:
- Eliminați indexul filtrat.
- Acordați definiția vizualizării pentru utilizator. De exemplu: ACORDAȚI DEFINIȚIA VIZUALIZĂRII PENTRU test_user;
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.