Kiedy program SQL Server ostrzega o nadużyciu pamięci?


18

Jakie są warunki, które powodują wyświetlenie ostrzeżenia o planie wykonania „Nadwyżka dotacji” ?

Przyznanie pamięci zapytania wykryło „ExcessiveGrant”, co może wpłynąć na niezawodność. Rozmiar dotacji: początkowy 5128 KB, końcowy 5128 KB, używany 16 KB.

SSMS

Plan SSMS

Właściwości SSMS

Plan Explorer

Plan Explorer

Showplan xml

<Warnings>
    <MemoryGrantWarning GrantWarningKind="Excessive Grant"
        RequestedMemory="5128" GrantedMemory="5128" MaxUsedMemory="16" />
</Warnings>

Odpowiedzi:


19

Aby wygenerować to ostrzeżenie:

  1. Maksymalne stosowane pamięci musi być mniejsza niż 5%, udzielonego pamięci; I
  2. Kwerenda musi używać zwykłego (nie małego) semafora zasobu

Aby użyć zwykłego semafora zasobu, zapytanie musi:

  • Zostały przyznane ponad 5MB pamięci (5120 KB, 640 x 8 KB stron); LUB
  • Całkowity szacunkowy koszt planu wynosi ponad 3 jednostki i nie jest to plan trywialny

Wymagania dotyczące wersji serwera :

  • SQL Server 2014 SP2 (12.0.5000) lub nowszy
  • SQL Server 2016 SP1 (13.0.4001) lub nowszy
  • SQL Server 2017 RTM (14.0.1000) lub nowszy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.