¿Cómo limito el uso de memoria de MS SQL Server?

22

Escuché que MS SQL Server ocupa la mayor cantidad de RAM posible para almacenar en caché los resultados. Bueno, no está dejando suficiente espacio de negociación para la RAM de nuestro pequeño servidor.

¿Cómo cambio la configuración para limitar la cantidad de RAM que puede usar?

MS SQL Server ejecutándose en Windows Server 2008.

FlavorScape
fuente
3
@DavidSchwartz: Creo que encontrará que muchos DBA de MS SQL limitarán la cantidad de RAM que puede usar el DBE. A menudo tiene un impacto en el rendimiento de cualquier otra cosa que se ejecute en el sistema.
wfaulk
1
@wfault: " De manera predeterminada, SQL Server puede cambiar sus requisitos de memoria dinámicamente en función de los recursos del sistema disponibles " . A muchas personas les gusta meterse con las cosas solo por meterse con ellas, pero lo que realmente están haciendo es inhibir la capacidad del servidor para sintonizarse con la carga cambiante. Si no está roto, no puedes arreglarlo. Esto lo hacen comúnmente las personas a las que les gusta ver mucha memoria libre para sentirse bien, pero en realidad, cualquier memoria que esté libre tampoco se usa, es decir, se desperdicia.
David Schwartz
44
@DavidSchwartz: entiendo de dónde vienes, y en cualquier otra situación estaría de acuerdo contigo, pero MS SQL no parece optimizar esto muy bien, IME.
wfaulk
1
En realidad estaba roto, ya que detendría el servidor ...
FlavorScape
1
Estoy de acuerdo con este tipo: sqlservercentral.com/blogs/glennberry/2009/10/29/…
Daniel Dolz

Respuestas:

24

En Cómo configurar las opciones de memoria con SQL Server Management Studio :

Use las dos opciones de memoria del servidor, memoria mínima del servidor y memoria máxima del servidor , para reconfigurar la cantidad de memoria (en megabytes) administrada por el Administrador de memoria de SQL Server para una instancia de SQL Server.

  1. En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades .
  2. Haz clic en el nodo Memoria .
  3. En Opciones de memoria del servidor , ingrese la cantidad que desea para Memoria mínima del servidor y Memoria máxima del servidor .

También puede hacerlo en T-SQL usando los siguientes comandos (ejemplo):

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

Para restringir el consumo de memoria del servicio MS SQL:

Establecer "memoria máxima del servidor" en SQL Server Management Studio

  1. Ahora configuraremos la opción "memoria máxima del servidor" para limitar el uso de memoria por parte de SQL Server. Podemos hacer esto haciendo clic derecho en nuestra instancia y seleccionando "Propiedades".

  2. En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades. ingrese la descripción de la imagen aquí

  3. Haga clic en el nodo Memoria como se muestra a continuación:

ingrese la descripción de la imagen aquí 4. En Opciones de memoria del servidor, ingrese la cantidad que desea para la Memoria máxima del servidor. A continuación, como puede ver, estamos configurando la memoria máxima del servidor a 4096 MB (es decir, 4 GB).

ingrese la descripción de la imagen aquí

Para restringir el consumo de memoria del servicio MS SQL:

También podemos establecer la "memoria máxima del servidor" mediante el uso de un script T-SQL:

El siguiente ejemplo establece la opción de memoria máxima del servidor en 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
fuente