Bagaimana cara membatasi penggunaan memori MS SQL Server?

22

Saya pernah mendengar MS SQL Server mengambil RAM sebanyak mungkin untuk men-cache hasil. Yah, itu tidak meninggalkan ruang tawar yang cukup untuk RAM server kecil kami.

Bagaimana cara mengubah pengaturan untuk membatasi jumlah RAM yang dapat digunakan?

MS SQL Server berjalan pada Windows Server 2008.

FlavorScape
sumber
3
@ Davidvidchwartz: Saya pikir Anda akan menemukan bahwa banyak MS SQL DBAs akan membatasi jumlah RAM yang dapat digunakan oleh DBE. Ini sering memiliki dampak kinerja pada hal lain yang berjalan pada sistem.
wfaulk
1
@ kesalahan: " Secara default, SQL Server dapat mengubah persyaratan memorinya secara dinamis berdasarkan sumber daya sistem yang tersedia. " Banyak orang suka mengacaukan hal-hal hanya demi mengacaukannya, tetapi apa yang sebenarnya mereka lakukan menghambat kemampuan server untuk menyesuaikan diri dengan mengubah beban. Jika tidak rusak, Anda tidak dapat memperbaikinya. Ini paling umum dilakukan oleh orang-orang yang suka melihat banyak memori bebas untuk membuat diri mereka merasa baik, tetapi sebenarnya, setiap memori yang gratis juga tidak digunakan - yaitu terbuang sia-sia.
David Schwartz
4
@ Davidvidchwartz: Saya mengerti dari mana Anda berasal, dan dalam situasi lain saya akan setuju dengan Anda, tetapi MS SQL tampaknya tidak benar-benar mengoptimalkan ini dengan sangat baik, IME.
wfaulk
1
Itu benar-benar rusak, karena akan menggiling server untuk berhenti ...
FlavorScape
1
Saya setuju dengan pria ini: sqlservercentral.com/blogs/glennberry/2009/10/29/…
Daniel Dolz

Jawaban:

24

Dari Cara mengkonfigurasi opsi memori menggunakan SQL Server Management Studio :

Gunakan dua opsi memori server, memori server minimal dan memori server maks , untuk mengkonfigurasi ulang jumlah memori (dalam megabita) yang dikelola oleh SQL Server Memory Manager untuk instance dari SQL Server.

  1. Di Object Explorer, klik kanan server dan pilih Properties .
  2. Klik simpul Memori .
  3. Di bawah Server Memory Options , masukkan jumlah yang Anda inginkan untuk Memori server minimum dan Memori server maksimum .

Anda juga dapat melakukannya di T-SQL menggunakan perintah berikut (contoh):

exec sp_configure 'max server memory', 1024
reconfigure
wfaulk
sumber
2

Untuk membatasi konsumsi memori MS SQL Service:

Atur "max server memory" di SQL Server Management Studio

  1. Sekarang kita akan mengatur opsi "max server memory" untuk membatasi penggunaan memori oleh SQL Server. Kita bisa melakukan ini dengan mengklik kanan instance kita dan memilih "Properties".

  2. Di Object Explorer, klik kanan server dan pilih Properties. masukkan deskripsi gambar di sini

  3. Klik simpul Memori seperti yang ditunjukkan di bawah ini:

masukkan deskripsi gambar di sini 4. Di bawah Server Memory Options, masukkan jumlah yang Anda inginkan untuk memori server maksimum. Di bawah ini seperti yang Anda lihat kami sedang menyiapkan memori server maks ke 4096 MB (yaitu 4 GB).

masukkan deskripsi gambar di sini

Untuk membatasi konsumsi memori MS SQL Service:

Kita dapat mengatur "memori server maks" juga dengan menggunakan skrip T-SQL:

Contoh berikut menetapkan opsi memori server maks ke 4 GB:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO

Ref: https://technet.microsoft.com/en-us/library/ms191144(v=sql.105).aspx

Kundan Dasange
sumber