Limitar el consumo de memoria del SQL Server.
Batiburrillo No hay Comentarios »Este es un apunte que me dejo aquí para no olvidar y que como siempre comparto para el que lo pueda necesitar.
En concreto es una solución para SQL Server 2000 sp3, no lo he probado en otras versiones.
Problema:
Microsoft SQL Server ya sea la versión completa o la MSDE está representada por el proceso sqlservr.exe en el administrador de Tareas de Windows. Por defecto, sqlserver utiliza mas memoria de la que realmente necesita. Solo se ve limitado por la cantidad de memoria física instalada en la máquina.
Esto lleva a que podemos tener el sqlserver utilizando mas memoria de la necesaria y puede repercutir en otras aplicaciones que estén funcionando en el mismo servidor llegando incluso a dejar el equipo sin recursos para ejecutar nuevas aplicaciones.
Síntomas:
Al intentar utilizar otra aplicación podemos notar una extrema lentitud al arrancar aplicaciones o servicios y podemos recibir incluso un mensaje “Server is busy. Please try again”
Solución:
La memoria SQL para este servidor 2000 sp3 debe ser según Microsoft un 25% del total de memoria RAM instalada en el sistema.
Si tienes la versión completa de SQL server instalada puedes usar Enterprise Manager para configurar la memoria.
Configurar la memoria mediante Enterprise Manager:
- calcula el 25 % de la memoria instalada en el equipo
- Abre Enterprise Manager
- Click derecho sobre el servidor que quieres configurar y selecciona “Propiedades”
- Selecciona la pestaña “Memory”
- Selecciona “Dynamically configure SQL Server Memory” y pon el mínimo a 0 y el máximo al valor deseado.
- Reinicia el servicio SQL Server
Configurar la memoria para MSDE usando el comando osql:
- logate ante el osql
C:\>osql -U sa -P tupassword
1> sp_configure ‘Show Advanced Options’,1
2>go- La forma en la que sp_configure funciona es que existe un “config_value” y un “run_value”. Después de que cambies el config_value debes ejecutar el comando reconfigure para crear el run_value
1>reconfigure
2>go- Comprueba la actual configuración para “max server memory”. el valor por defecto es el 2147483647 que es equivalente a “no limit”.
1>sp_configure ‘max server memory’
2>go
name minimum maximum config_value run_value…..
…………………
max server memory (MB) 4 2147483647…..- reduce o aumenta la memoria almacenando el valor apropiado que has calculado como el 25% de tu RAM física instalada, por ejemplo si queremos asignar 800 MB el comando sería:
1>sp_configure ‘max server memory’, 800
2>go- Ejecuta el comando reconfigure para que el nuevo valor tome efecto:
1>reconfigure
2>go
3>exit- Reinicia el Sql Server.
Comentarios Recientes