Proporción de pares del archivo de punto de comprobación obsoleto de datos con optimización para memoria

Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.StaleCFPs (UnitMonitor)

La supervisión notifica un estado de advertencia y genera una alerta cuando la relación de pares de archivos de punto de comprobación obsoletos del grupo de archivos de datos con optimización para memoria es superior a los umbrales especificados.
Tenga en cuenta que las alertas solo se generan si la base de datos correspondiente es bastante grande (un total de 300 o más archivos de punto de comprobación).

Knowledge Base article:

Resumen

La supervisión notifica un estado de advertencia y genera una alerta cuando la proporción de pares de archivos de punto de comprobación obsoletos del grupo de archivos de datos con optimización para memoria es superior a los umbrales especificados.

Tenga en cuenta que las alertas solo se generan si la base de datos correspondiente es bastante grande (un total de 300 o más archivos de punto de comprobación).

Los CFP obsoletos son los archivos que quedan en el sistema a la espera del truncamiento del registro o de la recolección de elementos no utilizados.

Causas

La combinación de CFP comienza en función de una directiva de combinación interna. Consulte este artículo para obtener detalles.

Soluciones

Realizar una combinación manual y forzar la recolección de elementos no usados tal y como se describe en estos artículos:

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Advertencia

Umbral de pares de archivos de punto de comprobación

Si el recuento total de los pares de archivos de punto de comprobación es superior o igual al umbral de pares de archivos de punto de comprobación, se generará una alerta.

300

Habilitado

Habilita o deshabilita el flujo de trabajo.

Genera alertas.

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Número de ejemplos

Indica cuántas veces debe superar los umbrales un valor medido para que cambie el estado.

6

Retraso de script (milisegundos)

Este parámetro define el retraso entre las consultas T-SQL consecutivas que ejecuta el flujo de trabajo. Puede ayudar a reducir la superficie que genera el flujo de trabajo en caso de haber un gran número de objetos de destino. Consúltelo con el soporte técnico de Microsoft antes de cambiar este parámetro.

0

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

 

Umbral

La relación que se ha recopilado se comparará con este parámetro.

60

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

180

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFx
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBFileGroupFx.StaleCFPs.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: la proporción de CFP obsoletos está por encima de los umbrales
La relación de pares de archivos de punto de comprobación obsoletos con respecto al número total de CFP ha alcanzado los umbrales.
Servidor: {1}
Instancia de SQL Server: {0}
Base de datos: {2}
Grupo de archivos: {3}
Relación de pares de archivos de punto de comprobación obsoletos: {4}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.StaleCFPs" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2016.DBFileGroupFx.StaleCFPs.MonitorType" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.StaleCFPs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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/>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Threshold>60</Threshold>
<CfpCountThreshold>300</CfpCountThreshold>
<TimeoutSeconds>180</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>