Jak ograniczyć użycie pamięci MS SQL Server?

22

Słyszałem, że MS SQL Server zajmuje tyle pamięci RAM, ile może buforować wyniki. Cóż, nie pozostawia wystarczająco dużo miejsca na negocjacje dla pamięci RAM naszego małego serwera.

Jak zmienić ustawienia, aby ograniczyć ilość pamięci RAM, z której może korzystać?

MS SQL Server działający w systemie Windows Server 2008.

FlavorScape
źródło
3
@DavidSchwartz: Myślę, że przekonasz się, że wiele MS SQL DBA ograniczy ilość pamięci RAM, którą DBE może użyć. Często ma wpływ na wydajność na wszystko, co działa w systemie.
wfaulk
1
@wfault: „ Domyślnie SQL Server może dynamicznie zmieniać wymagania dotyczące pamięci w oparciu o dostępne zasoby systemowe. ” Wiele osób lubi bawić się w rzeczy tylko ze względu na bałagan z nimi, ale tak naprawdę robią to hamowanie możliwości serwera dostroić się do zmieniającego się obciążenia. Jeśli się nie zepsuł, nie możesz tego naprawić. Najczęściej robią to ludzie, którzy lubią widzieć dużo wolnej pamięci, aby czuć się dobrze, ale w rzeczywistości każda wolna pamięć jest również niewykorzystana - to znaczy zmarnowana.
David Schwartz,
4
@DavidSchwartz: Rozumiem skąd pochodzisz iw każdej innej sytuacji zgodziłbym się z tobą, ale MS SQL nie wydaje się optymalizować tego bardzo dobrze, IME.
wfaulk
1
W rzeczywistości został zepsuty, ponieważ spowodowałby zatrzymanie serwera ...
FlavorScape
1
Zgadzam się z tym kolesiem: sqlservercentral.com/blogs/glennberry/2009/10/29/...
Daniel Dolz

Odpowiedzi:

24

Od Jak skonfigurować opcje pamięci za pomocą SQL Server Management Studio :

Użyj dwóch opcji pamięci serwera, minimalnej pamięci serwera i maksymalnej pamięci serwera , aby ponownie skonfigurować ilość pamięci (w megabajtach) zarządzaną przez SQL Server Memory Manager dla instancji SQL Server.

  1. W Eksploratorze obiektów kliknij prawym przyciskiem myszy serwer i wybierz Właściwości .
  2. Kliknij węzeł Pamięć .
  3. W obszarze Opcje pamięci serwera wprowadź żądaną wartość dla Minimalna pamięć serwera i Maksymalna pamięć serwera .

Możesz to również zrobić w języku T-SQL za pomocą następujących poleceń (przykład):

exec sp_configure 'max server memory', 1024
reconfigure
wfaulk
źródło
2

Aby ograniczyć zużycie pamięci usługi MS SQL Service:

Ustaw „maksymalną pamięć serwera” w SQL Server Management Studio

  1. Teraz ustawimy opcję „maksymalna pamięć serwera”, aby ograniczyć użycie pamięci przez SQL Server. Możemy to zrobić, klikając prawym przyciskiem myszy naszą instancję i wybierając „Właściwości”.

  2. W Eksploratorze obiektów kliknij prawym przyciskiem myszy serwer i wybierz Właściwości. wprowadź opis zdjęcia tutaj

  3. Kliknij węzeł Pamięć, jak pokazano poniżej:

wprowadź opis zdjęcia tutaj 4. W obszarze Opcje pamięci serwera wprowadź żądaną wartość opcji Maksymalna pamięć serwera. Poniżej, jak widać, konfigurujemy maksymalną pamięć serwera do 4096 MB (tj. 4 GB).

wprowadź opis zdjęcia tutaj

Aby ograniczyć zużycie pamięci usługi MS SQL Service:

Możemy ustawić „maksymalną pamięć serwera” również za pomocą skryptu T-SQL:

Poniższy przykład ustawia opcję maksymalnej pamięci serwera na 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
źródło