Memoria máxima para SQL Server

Uno de los parámetros más importantes del SQL Server es la memoria máxima que establece el límite superior de la cantidad de memoria que utiliza el grupo de búferes del motor de base de datos de SQL Server de Microsoft, o sea lo que viene a indicar es que el grupo de búferes nunca va a dejar que su asignación de memoria adquiera más memoria del nivel especificado en max server memory.

Según el propio Microsoft:
SQL Server adquiere, como un proceso, más memoria de la especificada en la opción max server memory. Los componentes tanto internos como externos pueden asignar memoria fuera del grupo de búferes, lo cual consume memoria adicional, pero la memoria asignada en el grupo de búferes normalmente representa la cantidad más grande de memoria que SQL Server consume.

Calcular el valor de la memoria máxima

MAX_SERVER_MEMORY = TOTAL_SERVER_MEMORY - [OS/Apps Memory] - [Threads * Thread Size] 

TOTAL_SERVER_MEMORY es la memoria RAM total de nuestro servidor, en mi caso 24 GB.

OS/Apps Memory es la memoria media que asignamos al sistema operativo y al resto de aplicaciones que estará comprendida entre 2 y 4 GB, para sistemas con menos de 16 GB de memoria RAM utilizaremos 2 GB y para sistemas con más de 16 GB de RAM utilizaremos 4 GB. En mi caso como tengo 24 GB de RAM entonces dedicaré 4 GB al sistema operativo y demás aplicaciones.

Threads corresponde al número máximo de hilos que ejecuta simultáneamente nuestro servidor SQL Server y lo obtenemos ejecutando la siguiente consulta:

USE MASTER
GO 

SELECT max_workers_count FROM sys.dm_os_sys_info

Los valores Thread Size vienen determinados por la arquitectura de nuestro servidor y se corresponden a la siguiente tabla:

Plataforma Tamaño
32 bit 512 K
x64 2 MB
IA64 4 MB

En mi caso para mi servidor x64 el valor de max_server_memory sería entonces de 18 GB.

Modificar el valor de memoria máxima

  1. Abrid SQL Server Management Studio
  2. Conectad con la instancia que aloja la BBDD
  3. Haced clic derecho en la instancia y del menú desplegado elegir Propiedades
  4. En la ventana de propiedades elegir a la izquierda la página de Memoria
  5. En esta ventana (imagen siguiente) cambiar el valor de la memoria máxima.
Nota: los valores de memoria máxima y mínima están expresados en MB, aquí os dejo un enlace a una calculadora que convierte de MB a GB y viceversa.

Comentarios