No hay suficiente memoria del sistema en el grupo de recursos predeterminado para ejecutar esta consulta

15

Estoy usando SQL Server 2014 - 12.0.2269.0 (X64) en Windows Server 2012 y tengo algunos problemas de memoria. Cuando ejecuto un procedimiento almacenado que está haciendo un cálculo bastante "pesado", aparece un error después de unos 10 minutos:

No hay suficiente memoria del sistema en el grupo de recursos 'predeterminado' para ejecutar esta consulta.

Mi SQL Server tiene múltiples bases de datos (como 15, pero no siempre se usan al mismo tiempo). Miré el archivo de registro de SQL Server (después de recibir el error), y vi muchas líneas como esta:

2015-12-17 12: 00: 37.57 spid19s No permitir asignaciones de páginas para la base de datos 'Database_Name' debido a memoria insuficiente en el grupo de recursos 'default'. Consulte ' http://go.microsoft.com/fwlink/?LinkId=330673 ' para obtener más información.

Se genera un informe en el registro con la memoria utilizada por cada componente (creo). Si interpreto correctamente el informe, podemos ver que hay mucha memoria consumida por MEMORYCLERK_SQLBUFFERPOOL. Puede encontrar el informe aquí: http://pastebin.com/kgmk9dPH

También generé un informe con un gráfico que muestra la misma "conclusión":

![uso de memoria

Aquí hay quizás otros informes útiles:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Tenga en cuenta que también he visto este error en el registro:

2015-12-17 12: 04: 52.37 spid70 Error al asignar la página debido a la presión de la memoria de la base de datos: FAIL_PAGE_ALLOCATION 8

Aquí hay información sobre la memoria del servidor:

  • Memoria total en el servidor: 16 Gb

  • Memoria asignada al servidor SQL: 12288 Mb

  • Memoria física en uso (desde sys.dm_os_process_memory): 9287 Mb

Si puede ayudar, el servidor no aloja ninguna base de datos de SharePoint.

tatchi
fuente
¿Cuál es la memoria máxima y la RAM total en el servidor?
Kin Shah

Respuestas:

6

Si bien esto probablemente no sea una respuesta exacta a su problema, lo publicaré de todos modos esperando que pueda ayudarlo de alguna manera.

Lo que estás viendo no es el, MEMORYCLERK_SQLBUFFERPOOLsino el MEMORYCLERK_SQLLOGPOOLtomar toda la memoria.

Existe un problema conocido con SQL 2012 SQL Server 2012 experimenta errores de falta de memoria . Aunque esté ejecutando 2014, existe la posibilidad de que se encuentre con el mismo problema (aunque no pude encontrar un elemento de conexión para 2014).

También existe este problema conocido para 2014 y 2012 que involucra reconstrucciones de índices y always on. No especificó que está usando eso, pero tal vez el mismo error tiene otros desencadenantes: REVISIÓN: la memoria caché de SQL disminuye y el uso de la CPU aumenta cuando reconstruye un índice para una tabla en SQL Server

Por lo tanto, mi mejor sugerencia por ahora es actualizar a la última CU y ver si aún sucede, ya que MEMORYCLERK_SQLLOGPOOLrecientemente ha habido algunas soluciones . Como está ejecutando RTM con 2 correcciones de seguridad solo que podrían tener sentido, hay un SP1 + múltiples CU disponibles.

Ya que también es bastante alto uso de memoria en MEMORYCLERK_XTPutilizado por in-memory OLTPeste artículo puede ayudar a solucionar problemas: Uso Supervisar y resolver problemas de memoria

Tom V - prueba topanswers.xyz
fuente