Kapan SQL Server memperingatkan tentang Hibah Memori Berlebihan?


18

Apa kondisi yang menghasilkan peringatan rencana eksekusi "Hibah Berlebihan" ?

Hibah memori permintaan mendeteksi "ExcessiveGrant", yang dapat memengaruhi keandalan. Ukuran hibah: Awal 5128 KB, Final 5128 KB, Digunakan 16 KB.

SSMS

Rencana SSMS

Properti SSMS

Plan Explorer

Plan Explorer

Showplan xml

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

Jawaban:


19

Untuk menghasilkan peringatan ini:

  1. The maksimum yang digunakan memori harus kurang dari 5% dari memori yang diberikan; DAN
  2. Kueri harus menggunakan semaphore sumber daya biasa (bukan kecil)

Untuk menggunakan semaphore sumber daya reguler kueri harus:

  • Telah memberikan memori lebih dari 5MB (5120 KB, 640 x 8KB halaman); ATAU
  • Memiliki total perkiraan biaya rencana lebih dari 3 unit dan tidak menjadi rencana sepele

Persyaratan versi server :

  • SQL Server 2014 SP2 (12.0.5000) atau lebih baru
  • SQL Server 2016 SP1 (13.0.4001) atau lebih baru
  • SQL Server 2017 RTM (14.0.1000) atau lebih baru
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.