Come posso limitare l'utilizzo della memoria di MS SQL Server?


22

Ho sentito che MS SQL Server occupa la maggior quantità di RAM possibile per memorizzare i risultati nella cache. Bene, non sta lasciando abbastanza spazio di contrattazione per la RAM del nostro piccolo server.

Come posso modificare le impostazioni per limitare la quantità di RAM che può usare?

MS SQL Server in esecuzione su Windows Server 2008.


3
@DavidSchwartz: Penso che scoprirai che molti DBA MS SQL limiteranno la quantità di RAM che il DBE può usare. Spesso ha un impatto sulle prestazioni su qualsiasi altra cosa in esecuzione sul sistema.
Wfaulk,

1
@wfault: " Per impostazione predefinita, SQL Server può modificare i requisiti di memoria in modo dinamico in base alle risorse di sistema disponibili. " A molte persone piace scherzare con le cose solo per il gusto di rovinarle, ma ciò che stanno effettivamente facendo è inibire le capacità del server per sintonizzarsi sul cambiamento del carico. Se non è rotto, non puoi ripararlo. Questo è più comunemente fatto da persone a cui piace vedere molta memoria libera per sentirsi bene, ma in realtà anche qualsiasi memoria libera è inutilizzata, vale a dire sprecata.
David Schwartz,

4
@DavidSchwartz: capisco da dove vieni e in qualsiasi altra situazione sarei d'accordo con te, ma MS SQL non sembra effettivamente ottimizzare molto bene, IME.
Wfaulk,

1
In realtà era rotto, poiché avrebbe fermato il server ...
FlavorScape

Risposte:


24

Da Come configurare le opzioni di memoria usando SQL Server Management Studio :

Utilizzare le due opzioni di memoria del server, memoria minima del server e memoria massima del server , per riconfigurare la quantità di memoria (in megabyte) gestita da Gestione memoria SQL Server per un'istanza di SQL Server.

  1. In Esplora oggetti, fare clic con il pulsante destro del mouse su un server e selezionare Proprietà .
  2. Fai clic sul nodo Memoria .
  3. In Opzioni memoria server , immettere la quantità desiderata per Memoria server minima e Memoria server massima .

Puoi anche farlo in T-SQL usando i seguenti comandi (esempio):

exec sp_configure 'max server memory', 1024
reconfigure


2

Per limitare il consumo di memoria del servizio MS SQL:

Impostare "memoria massima server" in SQL Server Management Studio

  1. Ora imposteremo l'opzione "max server memory" per limitare l'utilizzo della memoria da parte di SQL Server. Possiamo farlo facendo clic con il tasto destro sulla nostra istanza e scegliendo "Proprietà".

  2. In Esplora oggetti, fare clic con il pulsante destro del mouse su un server e selezionare Proprietà. inserisci qui la descrizione dell'immagine

  3. Fare clic sul nodo Memoria come mostrato di seguito:

inserisci qui la descrizione dell'immagine 4. In Opzioni di memoria del server, immettere la quantità desiderata per Memoria massima del server. Di seguito, come puoi vedere, stiamo impostando la memoria massima del server su 4096 MB (ovvero 4 GB).

inserisci qui la descrizione dell'immagine

Per limitare il consumo di memoria del servizio MS SQL:

Possiamo impostare la "memoria massima del server" anche usando uno script T-SQL:

L'esempio seguente imposta l'opzione di memoria massima del server su 4 GB:

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.