Mengonfigurasi memori min per kueri (opsi konfigurasi server)

Berlaku untuk:SQL Server

Topik ini menjelaskan cara mengonfigurasi memori min per opsi konfigurasi server kueri di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Opsi memori min per kueri menentukan jumlah minimum memori (dalam kilobyte) yang akan dialokasikan untuk eksekusi kueri. Ini juga dikenal sebagai peruntukan memori minimum. Misalnya, jika memori min per kueri diatur ke 2.048 KB, kueri dijamin akan mendapatkan setidaknya memori total sebanyak itu. Nilai defaultnya adalah 1.024 KB. Nilai minimum 512 KB, dan maksimum adalah 2.147.483.647 KB (2 GB).

Dalam Topik Ini

Sebelum Anda mulai

Batasan dan Pembatasan

  • Jumlah memori min per kueri lebih diutamakan daripada opsi buat memori indeks . Jika Anda memodifikasi opsi dan indeks membuat memori kurang dari min memori per kueri, Anda menerima pesan peringatan, tetapi nilainya diatur. Selama eksekusi kueri, Anda menerima peringatan serupa lainnya.

Rekomendasi

  • Opsi ini adalah opsi tingkat lanjut dan harus diubah hanya oleh administrator database berpengalaman atau SQL Server profesional bersertifikat.

  • Prosesor kueri SQL Server mencoba menentukan jumlah memori optimal untuk dialokasikan ke kueri. Opsi memori min per kueri memungkinkan administrator menentukan jumlah minimum memori yang diterima kueri tunggal. Kueri umumnya menerima lebih banyak memori daripada ini, jika mereka memiliki operasi hash dan pengurutan pada volume data yang besar. Meningkatkan nilai memori min per kueri dapat meningkatkan performa untuk beberapa kueri kecil hingga menengah, tetapi melakukannya dapat menyebabkan peningkatan persaingan untuk sumber daya memori. Opsi memori min per kueri mencakup memori yang dialokasikan untuk operasi pengurutan.

  • Jangan mengatur memori min per opsi konfigurasi server kueri terlalu tinggi, terutama pada sistem yang sangat sibuk, karena kueri harus menunggu1 hingga dapat mengamankan memori minimum yang diminta, atau sampai nilai yang ditentukan dalam opsi konfigurasi server tunggu kueri terlampaui. Jika lebih banyak memori tersedia daripada nilai minimum yang ditentukan yang diperlukan untuk menjalankan kueri, kueri diizinkan untuk menggunakan memori tambahan, asalkan memori dapat digunakan secara efektif oleh kueri.

1 Dalam skenario ini, jenis tunggu biasanya RESOURCE_SEMAPHORE. Untuk informasi selengkapnya, lihat sys.dm_os_wait_stats (Transact-SQL).

Keamanan

Izin

Jalankan izin pada sp_configure tanpa parameter atau hanya dengan parameter pertama yang diberikan kepada semua pengguna secara default. Untuk menjalankan sp_configure dengan kedua parameter untuk mengubah opsi konfigurasi atau untuk menjalankan pernyataan KONFIGURASI ULANG, pengguna harus diberikan izin tingkat server ALTER SETTINGS. Izin UBAH PENGATURAN secara implisit dipegang oleh peran server tetap sysadmin dan serveradmin .

Menggunakan SQL Server Management Studio

Untuk mengonfigurasi memori min per opsi kueri

  1. Di Object Explorer, klik kanan server dan pilih Properti.

  2. Klik simpul Memori .

  3. Dalam kotak Memori minimum per kueri , masukkan jumlah memori minimum (dalam kilobyte) yang akan dialokasikan untuk eksekusi kueri.

Menggunakan T-SQL

Untuk mengonfigurasi memori min per opsi kueri

  1. Sambungkan ke Mesin Database.

  2. Dari bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan. Contoh ini menunjukkan cara menggunakan sp_configure untuk mengatur nilai opsi ke min memory per query3500 KB.

USE AdventureWorks2022;  
GO  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE ;  
GO  
EXEC sp_configure 'min memory per query', 3500 ;  
GO  
RECONFIGURE;  
GO    

Tindak Lanjut: Setelah Anda mengonfigurasi memori min per opsi kueri

Pengaturan segera berlaku tanpa memulai ulang server.

Lihat juga

KONFIGURASI ULANG (Transact-SQL)
Opsi Konfigurasi Server (SQL Server)
sp_configure (Transact-SQL)
Mengonfigurasi indeks membuat opsi konfigurasi server memori
sys.dm_os_wait_stats (Transact-SQL)
sys.dm_exec_query_memory_grants (T-SQL)