Error de instancia SQL SERVER por falta de memoria

 Buen día queridos lectores, el día de hoy veremos un nuevo tema de Administración de Base de Datos, y lo que sucede cuando una instancia no tiene la memoria RAM para continuar, el caso es que hace unos días me equivoque en una configuración y le puse como máximo de memoria 70MB, lógicamente la instancia colapso y lo que les traigo aquí es la solución.

Configurar memoria máxima SQL SERVER   

Para configurar el máximo y mínimo de memoria en la instancia, daremos clic derecho en la instancia, y seleccionaremos la opción Propiedades

Configurar memoria máxima en SQL SERVER
Configurar memoria máxima en SQL SERVER


En el apartado memoria, procederemos a configurar el máximo y el mínimo de memoria a consumir

Se recomienda que el máximo de memoria a consumir sea del 70% del servidor, el 30% restante corresponderá a la base de datos.

Problema al asignar un máximo de memoria menor al requerido

El problema consiste en asignar menor memoria máxima que la requiere para iniciar el servicio de SQL SERVER. 

En el ejemplo queremos poner 16000 MB (16GB), sin embargo, nos equivocamos y le asignamos únicamente 160 MB

Configurar memoria máxima en SQL SERVER
Configurar memoria máxima en SQL SERVER


Para no reiniciar la instancia con el nuevo limite, aplicaremos el comando

RECONFIGURE

Y nos aparecerá el siguiente mensaje de error:

Msg 701, Level 17, State 130, Line 1

There is insufficient system memory in resource pool 'default' to run this query.


Esto se da, porque SQL SERVER tiene topada la memoria, a un estado que no permite ni siquiera arrancar el servicio, por lo que tendremos que realizar algunas configuraciones

Lo primero que tenemos que hacer es detener la instancia, pero lo haremos desde el SQL SERVER Configuration Manager

SQL Server Configuration Management
SQL Server Configuration Management

En la pestaña Log on damos clic en STOP

SQL Server Configuration Management
SQL Server Configuration Management

Una vez con la instancia detenida, daremos clic en la pestaña StartUp Parameters y vamos a añadir el parámetro -f, el cual, nos permite iniciar el servicio utilizando los requerimientos mínimos y con usuario único.

SQL Server Configuration Management
SQL Server Configuration Management

Con ese parámetro vamos a reiniciar la instancia, y, desde el Management Studio, procedemos a cambiar el límite máximo de la memoria.




Una vez establecida la memoria correctamente, nuevamente detenemos el servicio desde el SQL SERVER Configuration Manager y desde la pestaña StartUp Parameters quitamos el parámetro -f



Reiniciamos la instancia, y el problema quedará solucionado

No hay comentarios.:

Publicar un comentario

Featured Post

Como saber la versión de SQL que tengo

 Buenas tardes queridos lectores, el día de hoy les traigo un post muy básico, pero útil en determinadas circunstancias, cuando queremos sab...