El monitor notifica un estado crítico y genera una alerta cuando la cantidad de memoria que usa el grupo de recursos es superior a la configuración de umbral, expresada como porcentaje de la memoria disponible para las tablas de datos con optimización para memoria para el grupo de recursos determinado. Este monitor es un monitor de dependencia (acumulación).
El monitor notifica un estado crítico cuando la cantidad de memoria que usa el grupo de recursos es superior a la configuración de umbral, expresada como porcentaje de la memoria disponible para las tablas de datos con optimización para memoria para el grupo de recursos determinado. Este monitor es un monitor de dependencia (acumulación).
El grupo de recursos indicado al asignar a una base de datos con optimización para memoria realiza un seguimiento de la memoria asignada a todas las tablas con optimización para memoria, incluidas las tablas internas que se usan para diversas estructuras dentro del motor de datos con optimización para memoria.
Los datos con optimización para memoria de SQL Server usan más memoria y de maneras diferentes que SQL Server. Es posible que la cantidad de memoria que ha instalado y asignado para los datos con optimización para memoria se vuelva inadecuada para sus crecientes necesidades. De ser así, podría quedarse sin memoria.
Consulte este artículo para obtener más detalles: Enlazar una base de datos con tablas con optimización para memoria a un grupo de recursos.
Para resolver la condición de baja memoria o sin memoria, tiene que reducir el uso para liberar memoria existente o hacer que haya más memoria disponible para sus tablas de datos con optimización para memoria. Entre las posibles medidas correctivas se incluyen:
Compruebe si hay transacciones de larga ejecución que están evitando una recolección de elementos no utilizados de memoria. En caso positivo, piense en detener la transacción de larga ejecución y analizar el diseño de la aplicación para ver si puede reducir la duración de las transacciones.
Libere la memoria existente.
Elimine las filas de tablas con optimización para memoria que no sean necesarias y espere a la recolección de elementos no utilizados.
Mueva una o más filas a una tabla basada en disco.
Aumente el valor de MAX_MEMORY_PERCENT en el grupo de recursos.
Aumente la memoria disponible a la instancia de SQL Server configuración la memoria de servidor máximo en un valor superior.
Instale memoria adicional.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Genera alertas | Define si el flujo de trabajo genera una alerta. | No |
Target | Microsoft.SQLServer.2014.Database |
Parent Monitor | System.Health.PerformanceState |
Algorithm | WorstOf |
Source Monitor | Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption |
Relationship | Microsoft.SQLServer.2014.RelationshipType.DatabaseReferencesUserResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Remotable | True |
Accessibility | Public |
<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.MemoryConsumptionRollUp" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>