Índice dos pares de arquivos do ponto de verificação obsoleto de dados com otimização de memória

Microsoft.SQLServer.Linux.Monitor.DBFilegroupFx.StaleCFPs (UnitMonitor)

O monitor relatará um estado de aviso e emitirá um alerta quando a proporção de pares de arquivos do ponto de verificação obsoletos no Grupo de Arquivos de Dados com Otimização de Memória for maior do que os limites especificados.
Observe que os alertas são lançados somente se o banco de dados correspondente é razoavelmente grande (300 ou mais arquivos de ponto de verificação no total).

Knowledge Base article:

Resumo

O monitor relata um estado de aviso e emite um alerta quando a parcela de pares de arquivos do ponto de verificação obsoletos no Grupo de Arquivos de Dados com Otimização de Memória é maior do que os limites especificados.

Observe que os alertas são disparados somente se o banco de dados correspondente é razoavelmente grande (300 ou mais arquivos de ponto de verificação no total).

CFPs obsoletos são arquivos deixados no sistema aguardando por truncamento do log ou coleta de lixo.

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 nestes artigos:

Parâmetros Substituíveis

Nome

Descrição

Valor Padrão

Prioridade do Alerta

Define a Prioridade do Alerta.

Normal

Severidade do Alerta

Define a Severidade do Alerta.

Aviso

Limite de Pares de Arquivos do Ponto de Verificação

Um alerta seria gerado se a contagem total dos Pares de Arquivos do Ponto de Verificação fosse maior ou igual ao Limite dos Pares de Arquivo de Ponto de Verificação.

300

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Gera Alertas

Define se o fluxo de trabalho gera ou não um Alerta.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho.

300

Número de amostras

Indica quantas vezes um valor medido deve violar os limites antes do estado ser alterado.

6

Tempo de Sincronização

O tempo de sincronização especificado usando um formato de 24 horas. Pode ser omitido.

 

Limite

A razão coletada será comparada a esse parâmetro.

60

Tempo Limite (em segundos)

Especifica o tempo que o fluxo de trabalho pode para ser executado antes de ser fechado e marcado como falha.

200

Tempo limite da conexão de banco de dados (segundos)

O fluxo de trabalho falhará e registrará um evento, se ele não conseguir acessar o banco de dados durante o período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBFilegroupFx
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Linux.MonitorType.DBFilegroupFx.StaleCFPs
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL em Linux: a porção de CFPs obsoletos está acima dos limites
A razão entre os pares de arquivos do ponto de verificação obsoletos e o número total de CFPs atingiu os limites.
Servidor: {1}
Instância do SQL Server: {0}
Banco de dados: {2}
Grupo de arquivos: {3}
Razão de pares de arquivos de ponto de verificação obsoletos: {4}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.DBFilegroupFx.StaleCFPs" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBFilegroupFx" ParentMonitorID="Health!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.Linux.MonitorType.DBFilegroupFx.StaleCFPs" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.DBFilegroupFx.StaleCFPs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Filegroup"]/GroupName$</AlertParameter4>
<AlertParameter5>$Data/Context/SampleValue$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ErrorState" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
<OperationalState ID="SuccessState" MonitorTypeStateID="SuccessState" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<MachineName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<DatabaseName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<Threshold>60</Threshold>
<CfpCountThreshold>300</CfpCountThreshold>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>