Der Monitor gibt einen kritischen Status und eine Warnung aus, wenn der von aktiven Reihen belegte Platz in In-Memory-Datendateien unter den eingestellten Schwellenwert in Prozent der Größe der Datendateien aus.
Dieser Monitor gibt einen kritischen Status und eine Warnung aus, wenn der Garbage Collector-Füllfaktor (der von aktiven Reihen belegte Platz in In-Memory-Datendateien in Prozent der Größe der Datendateien) unter den eingestellten Schwellenwert fällt.
Beim Garbage Collection-Füllfaktor für arbeitsspeicheroptimierten Datendateigruppen handelt es sich um die Metrik, mit der der durchschnittliche Füllfaktor für alle aktiven Daten-/Deltadateien, welche eingefügte/gelöschte Zeilen enthalten. Wenn diese Metrik unter 50 % liegt, deutet dies auf eine zu langsame automatische Zusammenführung hin. Dies ist nicht unmittelbar problematisch, solange die Anzahl der CFPs (Prüfpunktdateipaare) unter 8000 liegt und in der optimierten In-Memory-Dateigruppe noch viel Speicher zur Verfügung steht.
Weitere Informationen finden Sie in der Dokumentation unter sys.dm_db_xtp_checkpoint_files (Transact-SQL)
http://msdn.microsoft.com/library/dn133201%28v=sql.120%29.aspx
Den Abschnitt "So funktioniert die Garbage Collection" finden Sie unter dem Thema "Erstellen und Verwalten von Speicher für arbeitsspeicheroptimierte Objekte"
http://msdn.microsoft.com/library/dn133174%28v=sql.120%29.aspx
Die CFP-Zusammenführung wird auf Basis einer internen Zusammenführungsrichtlinie ausgelöst. Weitere Informationen finden Sie im Artikel this article.
Führen Sie eine manuelle Zusammenführung und erzwingen Sie eine Garbage Collection wie in diesen Artikeln beschrieben durch:
Zusammenführung zur Überwachung und Problembehebung für Daten und Deltadateipaare
Erzwingen einer Garbage Collection bei zusammengeführten Datendateien
.
Name | Beschreibung | Standardwert |
Aktiviert |
| Ja |
Generiert Warnungen |
| 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. |
|
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.2014.DBFileGroupFx | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.MonitorType.DBFileGroupFx.GarbageCollectionState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.GarbageCollectionState" Target="SQL2014Core!Microsoft.SQLServer.2014.DBFileGroupFx" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2014.MonitorType.DBFileGroupFx.GarbageCollectionState" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.GarbageCollectionState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<Value>Property[@Name='StorageUsageFillFactor']</Value>
<Threshold>50</Threshold>
<TimeoutSeconds>300</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
</Configuration>
</UnitMonitor>