it-swarm.com.de

Wann warnt SQL Server vor einer übermäßigen Speichergewährung?

Unter welchen Bedingungen wird eine "Excessive Grant" - Ausführungsplanwarnung ausgegeben?

Die Abfragespeichergewährung hat "ExcessiveGrant" erkannt, was sich auf die Zuverlässigkeit auswirken kann. Zuschussgröße: Anfänglich 5128 KB, Endgültig 5128 KB, Verwendet 16 KB.

SSMS

(SSMS plan

(SSMS properties

Plan Explorer

(Plan Explorer

Showplan xml

<Warnings>
    <MemoryGrantWarning GrantWarningKind="Excessive Grant"
        RequestedMemory="5128" GrantedMemory="5128" MaxUsedMemory="16" />
</Warnings>
19
Paul White 9

So erstellen Sie diese Warnung:

  1. Der maximal genutzte Speicher muss weniger als 5% des gewährten Speichers sein; [~ # ~] und [~ # ~]
  2. Die Abfrage muss das Ressourcensemaphor regulär (nicht klein) verwenden

Um das reguläres Ressourcensemaphor zu verwenden, muss die Abfrage:

  • Haben Speicher über 5 MB gewährt ​​(5120 KB, 640 x 8 KB Seiten); [~ # ~] oder [~ # ~]
  • Haben Sie geschätzte Gesamtplankosten von über 3 Einheiten und seien Sie kein trivial Plan

Server Versionsanforderungen :

  • SQL Server 2014 SP2 (12.0.5000) oder höher
  • SQL Server 2016 SP1 (13.0.4001) oder höher
  • SQL Server 2017 RTM (14.0.1000) oder höher
19
Paul White 9