Der Monitor meldet einen kritischen Status und löst eine Warnung aus, wenn der von aktiven Zeilen in speicheroptimierten Datendateien belegte Speicherplatz unter den festgelegten Schwellenwert fällt, ausgedrückt in Prozent der Größe der Datendateien. Hinweis: Dieser Monitor ist standardmäßig deaktiviert. Verwenden Sie bei Bedarf Außerkraftsetzungen, um ihn zu aktivieren.
Dieser Monitor gibt einen kritischen Status und eine Warnung aus, wenn der Garbage Collector-Füllfaktor (der von aktiven Reihen belegte Platz in speicheroptimierten Datendateien in Prozent der Größe der Datendateien) unter den eingestellten Schwellenwert fällt.
Beim Garbage Collection-Füllfaktor für speicheroptimierte Datendateigruppen handelt es sich um die Metrik, die den durchschnittlichen Füllfaktor für alle aktiven Daten-/Deltadateien mit eingefügten/gelöschten Zeilen anzeigt. Wenn diese Metrik unter 50 % liegt, deutet dies auf zu langsame automatische Mergevorgänge hin. Dies ist nicht unmittelbar problematisch, solange die Anzahl der CFPs (Prüfpunkt-Dateipaare) unter 8.000 liegt und in der speicheroptimierten Datendateigruppe noch viel Speicher zur Verfügung steht.
Hinweis: Dieser Monitor ist standardmäßig deaktiviert. Verwenden Sie bei Bedarf Außerkraftsetzungen, um ihn zu aktivieren.
Weitere Informationen finden Sie in der sys.dm_db_xtp_checkpoint_files-Dokumentation (Transact-SQL).
http://go.microsoft.com/fwlink/?LinkId=799285
Den Abschnitt "So funktioniert die Garbage Collection" finden Sie unter dem Thema "Erstellen und Verwalten von Speicher für arbeitsspeicheroptimierte Objekte"
http://go.microsoft.com/fwlink/?LinkId=799286
Die CFP-Zusammenführung wird auf Basis einer internen Zusammenführungsrichtlinie ausgelöst. Weitere Informationen finden Sie in diesem Artikel.
Führen Sie eine manuelle Zusammenführung und erzwingen Sie eine Garbage Collection wie in diesen Artikeln beschrieben durch:
Überwachung und Problembehandlung beim Zusammenführen von Daten-/Änderungsdateipaaren
Erzwingen einer Garbage Collection bei zusammengeführten Datendateien
.
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Fehler |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Nein |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Ja |
Intervall (Sekunden) | Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll. | 900 |
Skriptverzögerung (Millisekunden) | Über diesen Parameter wird die Verzögerung zwischen aufeinanderfolgenden T-SQL-Abfragen festgelegt, die durch den Workflow ausgeführt werden. Dadurch lässt sich die Ressourcenbeanspruchung durch diesen Workflow bei einer großen Anzahl an Zielobjekten reduzieren. Halten Sie Rücksprache mit dem Microsoft-Support, bevor Sie diesen Parameter ändern. | 0 |
Synchronisierungszeit | Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden. | 00:05 |
Schwellenwert | Der ermittelte Wert wird mit diesem Parameter verglichen. | 50 |
Timeout (Sekunden) | Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird. | 300 |
Target | Microsoft.SQLServer.2016.DBFileGroupFx | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.MonitorType.DBFileGroupFx.GarbageCollectionState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2016.MonitorType.DBFileGroupFx.GarbageCollectionState" Accessibility="Public" Enabled="false" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</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/Property[@Name='StorageUsageFillFactor']$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</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>
<Value>Property[@Name='StorageUsageFillFactor']</Value>
<Threshold>50</Threshold>
<TimeoutSeconds>300</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
</Configuration>
</UnitMonitor>