Estado da Coleta de Lixo (acúmulo)

Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState (DependencyMonitor)

O monitor relatará um Estado Crítico e emitirá um alerta se a quantidade de espaço usado por linhas ativas em todos os arquivos de dados Em Memória cair abaixo da configuração de Limite, expresso como percentual do tamanho dos arquivos de dados. Este monitor é um monitor de dependência (rollup).

Knowledge Base article:

Resumo

Observação: esse monitor é um monitor (rollup) de dependências. O estado de integridade para este monitor é determinado pelo melhor estado em qualquer monitor membro. Examine também o artigo da base de dados de conhecimento para ver os monitores da unidade relacionada.

Este monitor relatará um Estado Crítico e emitirá um alerta se o Fator de preenchimento do coletor de lixo (uma quantidade de espaço usado por linhas ativas nos arquivos de dados com otimização de memória, expresso como percentual do tamanho dos arquivos de dados) cair abaixo da configuração de Limite para todos os monitores de unidade relacionados.

O fator de preenchimento da coleta de lixo para o grupo de arquivos de dados com otimização de memória é a métrica que mostra o fator de preenchimento médio em todos os arquivos de dados/delta ativos contendo linhas inseridas/excluídas. Se essa métrica for menor que 50%, isso indicará que a mesclagem automática está atrasada. Isso não é uma causa imediata de preocupação porque o número de CFPs (pares de arquivo de ponto de verificação) está abaixo de 8.000 e você tem muito armazenamento disponível no Grupo de Arquivos de Dados com Otimização de Memória.

Mais informações podem ser obtidas na documentação de sys.dm_db_xtp_checkpoint_files (Transact-SQL)

http://go.microsoft.com/fwlink/?LinkId=799285

A seção 'Como a Coleta de Lixo funciona' pode ser encontrada no tópico 'Criar e Gerenciar Armazenamento para Objetos Otimizados em Memória'

http://go.microsoft.com/fwlink/?LinkId=799286

Causas

A mesclagem do CFP é iniciada com base em uma política de mesclagem interna. Consulte esse artigo para obter detalhes.

Resoluções

Realize uma mesclagem manual e force a coleta de lixo conforme descrito nesses artigos:

Parâmetros Substituíveis

Nome

Descrição

Valor padrão

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Gerar Alertas

Define se o fluxo de trabalho gera um Alerta.

Não

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState
RelationshipMicrosoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>