KB4575689 – PATAISA: Neteisingi rezultatai gali atsirasti, kai paleisite susietojo serverio užklausą su agreguotais arba sujungimais lentelėje su filtruota rodykle nuotoliniame serveryje „SQL Server“

Taikoma
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

Požymiai

Tarkime, kad vykdote užklausą su agreguotais ir sujungimais (pvz.: COUNT WITH GROUP BY) lentelėje su filtruotu indeksu "„SQL Server“", kuri naudojama kaip nuotolinis serveris, ir vartotojas neturi teisės VIEW DEFINITION. Tokiu atveju susietasis serveris filtruotą indeksą laiko visu unikaliu indeksu, o užklausa pateikia neteisingus rezultatus.

Daugiau informacijos

Kai vykdote nuotolinę užklausą, susietojo serverio procesas naudoja indekso metaduomenis, kad optimizuotų užklausą. Kai duomenų bazei, kuriai pateikta užklausa, neturite teisės RODINIO APRAŠAS, metaduomenys nenurodo, kad indeksas yra filtruotas indeksas, o užklausų optimizavimo priemonė laiko indeksą visu unikaliu indeksu. Ši pataisa ištaiso filtruoto indekso metaduomenis, kai neturite teisės PERŽIŪRĖTI APRAŠĄ, kuriuos gali apsvarstyti užklausų optimizavimo priemonė.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Sprendimas

Ši problema išspręsta šiuose kaupiamuosiuose "„SQL Server“" naujinimuose:

Pastaba: Ši pataisa turėtų būti taikoma nuotoliniam susietajam serveriui.

Apie "„SQL Server“" kaupiamuosius naujinimus:

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

Sprendimo būdas

Norėdami išspręsti šią problemą, išbandykite vieną iš šių būdų:

  • Pašalinkite filtruotą indeksą.
  • Suteikti vartotojui rodinio aprašą. Pvz.: SUTEIKTI RODINIO APIBRĖŽIMĄ test_user;

Nuorodos

Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.