KB3167159 – OPRAVA: Dotaz sa spúšťa pomaly, keď SQL Server v pláne dotazov používa agregačnú hodnotu hash

Vzťahuje sa na
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) 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)

Príznaky

Dotaz môže byť spomalený, ak sú splnené nasledujúce podmienky:

  • Dotaz používa agregačné hodnoty, ako je napríklad group by.
  • SQL Server používa agregačnú hodnotu hash v pláne dotazu.
  • Odhadovaný počet jedinečných hodnôt je oveľa menší ako skutočný počet jedinečných hodnôt pre agregačnú funkciu.

Keď sa vyskytne tento problém, zobrazí sa upozornenie na hash Udalosť, ak používate profiler alebo rozšírené sledovanie udalostí.

Príčina

Tento problém sa vyskytuje, pretože SQL Server podceňuje potrebné množstvo pridelenia pamäte. Výsledkom je presahovanie výsledkov intermiedate do databázy tempdb.

Riešenie

Tento problém bol prvýkrát opravený v nasledujúcej kumulatívnej aktualizácii SQL Server:

Poznámka: Ak chcete aktivovať túto opravu, musíte povoliť príznak sledovania 9410.

Odporúčanie: Nainštalujte najnovšiu kumulatívnu aktualizáciu 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. Odporúčame stiahnuť a nainštalovať najnovšie kumulatívne aktualizácie pre SQL Server:

      

Odkazy

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