KB3167159 – LØSNING: Spørringen kjører sakte når SQL Server bruker hash-aggregat i spørringsplanen

Gjelder for
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)

Symptomer

Spørringen kan kjøre sakte hvis følgende betingelser er oppfylt:

  • Spørringen bruker mengder, for eksempel grupper etter.
  • SQL Server bruker hash-aggregasjon i spørringsplanen.
  • Det anslåtte antallet distinkte verdier er mye lavere enn det faktiske antallet distinkte verdier for mengden.

Når dette problemet oppstår, ser du en hash-advarsel hvis du bruker profiler eller utvidet hendelsessporing.

Årsak

Dette problemet oppstår fordi SQL Server undervurderer mengden minnetildeling som kreves. Dette fører til at intermiedate-resultater flyter over til tempdb.

Oppløsning

Problemet ble først løst i følgende kumulative oppdatering av SQL Server:

Obs! Du må aktivere sporingsflagg 9410 for å aktivere denne løsningen.

Anbefaling: Installer den nyeste kumulative oppdateringen for SQL Server

Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Vi anbefaler at du laster ned og installerer de nyeste kumulative oppdateringene for SQL Server:

      

Kilder

Finn ut mer om terminologien som Microsoft bruker til å beskrive programvareoppdateringer.