O monitor relatará um estado crítico e emitirá um alerta quando a quantidade de memória usada pelo pool de recursos for maior do que a configuração de Limite, expresso como percentual de memória disponível para tabelas de dados com otimização de memória para o pool de recursos fornecido. Este monitor é um monitor de dependência (rollup).
O monitor relatará um estado crítico quando a quantidade de memória usada pelo pool de recursos for maior do que a configuração de Limite, expresso como percentual de memória disponível para tabelas de dados com otimização de memória para o pool de recursos fornecido. Este monitor é um monitor de dependência (rollup).
O pool de recursos nomeado, quando mapeado para um banco de dados com otimização de memória, acompanha memória alocada para todas as tabelas com otimização de memória, incluindo tabelas internas que são usadas para diversas estruturas dentro do mecanismo de dados com otimização de memória.
O SQL Server com dados com otimização de memória usa mais memória e de formas diferentes do que o SQL Server. É possível que a quantidade de memória instalada e alocada para os dados com otimização de memória se torne inadequada para suas necessidades de crescimento. Se acontecer, você poderá ficar sem memória.
Consulte esse artigo para obter mais detalhes: Associar um banco de dados com tabelas com otimização de memória a um pool de recursos.
Para resolver sua condição de Memória Baixa ou Sem Memória, você precisa para liberar a memória existente reduzindo a utilização ou tornar mais memória disponível nas suas tabelas de dados com otimização de memória. Possíveis ações corretivas podem incluir:
Verifique se há transações executando há muito tempo que estejam impedindo a coleta de lixo de memória. Se sim, considere eliminar a transação executando há muito tempo e/ou examine o design do aplicativo para ver se você pode reduzir a duração das transações.
Libere memória existente.
Exclua as linhas da tabela com Otimização de Memória não fundamentais e aguarde a coleta de lixo.
Mova uma ou mais linhas para uma tabela baseada em disco.
Aumente o valor de MAX_MEMORY_PERCENT no pool de recursos.
Aumente a memória disponível para a instância do SQL Server configurando a memória máxima do servidor para um valor mais alto.
Instale memória adicional.
Nome | Descrição | Valor Padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Gera Alertas | Define se o fluxo de trabalho gera ou não um Alerta. | Não |
Target | Microsoft.SQLServer.Windows.Database |
Parent Monitor | System.Health.PerformanceState |
Algorithm | WorstOf |
Source Monitor | Microsoft.SQLServer.Windows.Monitor.UserResourcePool.MemoryConsumption |
Relationship | Microsoft.SQLServer.Windows.DatabaseReferencesUserResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Remotable | True |
Accessibility | Public |
<DependencyMonitor ID="Microsoft.SQLServer.Windows.Rollup.Database.MemoryConsumption" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SqlDiscW!Microsoft.SQLServer.Windows.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.Windows.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>