KB4575689 – OPRAVA: Pri spustení dotazu prepojeného servera s agregáciami alebo spojením v tabuľke s filtrovaným indexom na vzdialenom serveri v SQL Server sa môžu vyskytnúť nesprávne výsledky

Vzťahuje sa na
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows

Príznaky

Predpokladajme, že spustíte dotaz s agregáciami a spojeniami (napríklad: SPOČÍTAŤ S POLOŽKOU GROUP BY) v tabuľke s filtrovaným indexom na SQL Server, ktorá sa používa ako vzdialený server, a používateľ nemá povolenie ZOBRAZIŤ DEFINÍCIU. V tomto scenári považuje prepojený server filtrovaný index za úplný jedinečný index a dotaz vráti nesprávne výsledky.

Ďalšie informácie

Keď spustíte vzdialený dotaz, proces prepojeného servera použije na optimalizáciu dotazu metaúdaje indexu. Ak pre databázu, na ktorú je predmetom dotaz k dispozícii nemáte povolenie na ZOBRAZENIE DEFINÍCIE, metaúdaje nenaznačujú, že index je filtrovaným indexom, a optimalizátor dotazov považuje index za úplný a jedinečný index. Táto oprava opravuje metaúdaje indexu vo filtrovanom indexe, keď nemáte povolenie ZOBRAZIŤ DEFINÍCIU na zváženie optimalizátorom dotazov.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Riešenie

Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:

Poznámka: Táto oprava by sa mala použiť na vzdialenom prepojenom serveri.

Informácie o kumulatívnych aktualizáciách pre SQL Server:

Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

Alternatívne riešenie

Ak chcete tento problém obísť, skúste použiť niektorý z týchto postupov:

  • Odstráňte filtrovaný index.
  • Udelenie definície zobrazenia používateľovi. Napríklad: UDELIŤ DEFINÍCIU ZOBRAZENIA test_user;

Odkazy

Získajte informácie o terminológii, ktorú Microsoft používa na popis aktualizácií softvéru.