Verhältnis veralteter Prüfpunkt-Dateipaare für speicheroptimierte Daten

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

Der Monitor meldet einen Warnstatus und löst eine Warnung aus, wenn das Verhältnis veralteter Prüfpunkt-Dateipaare in der speicheroptimierten Datendateigruppe den angegebenen Schwellenwert übersteigt.
Beachten Sie, dass die Warnungen nur ausgelöst werden, wenn die zugehörige Datenbank angemessen groß ist (mindestens 300 Prüfpunkte gesamt).

Knowledge Base article:

Zusammenfassung

Der Monitor meldet einen Warnstatus und löst eine Warnung aus, wenn der Anteil veralteter Prüfpunkt-Dateipaare in der speicheroptimierten Datendateigruppe den angegebenen Schwellenwert übersteigt.

Beachten Sie, dass die Warnungen nur ausgelöst werden, wenn die zugehörige Datenbank angemessen groß ist (mindestens 300 Prüfpunkte gesamt).

Veraltete CFPs sind im System vorhandene Dateien, die auf eine Protokollkürzung oder eine Garbage Collection warten.

Ursachen

Die CFP-Zusammenführung wird auf Basis einer internen Zusammenführungsrichtlinie ausgelöst. Weitere Informationen finden Sie in diesem Artikel.

Lösungen

Führen Sie eine manuelle Zusammenführung durch, und erzwingen Sie die Garbage Collection wie in diesen Artikeln beschrieben:

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Warnung

Schwellenwert für Prüfpunkt-Dateipaare

Generiert eine Warnung, wenn die Gesamtzahl der Prüfpunkt-Dateipaare größer oder gleich dem Schwellenwert für Prüfpunkt-Dateipaare ist.

300

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Anzahl der Abtastungen

Gibt an, wie oft ein gemessener Wert den Schwellenwert verletzen muss, bevor der Status geändert wird.

6

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden.

 

Schwellenwert

Das erfasst Verhältnis wird mit diesem Parameter verglichen.

60

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

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 für Linux: Anteil veralteter CFPs liegt über den Schwellenwerten
Das Verhältnis veralteter Prüfpunkt-Dateipaare zur Gesamtanzahl von Prüfpunkt-Dateipaaren hat die Schwellenwerte erreicht.
Server: {1}
SQL Server-Instanz: {0}
Datenbank: {2}
Dateigruppe: {3}
Verhältnis veralteter Prüfpunkt-Dateipaare: {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>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>