SQL Server 2014 \endash In-Memory-OLTP-Dateianzahl (Rollup)

Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs (DependencyMonitor)

Der Monitor gibt einen kritischen Status aus, wenn die Anzahl der aktiven Prüfpunkt-Dateipaare in der In-Memory-Dateigruppe in der Datenbank den angegebenen Schwellenwert übersteigt. Dieser Monitor ist ein Abhängigkeitsmonitor (Rollup).

Knowledge Base article:

Zusammenfassung

Der Monitor gibt einen kritischen Status aus, wenn die Anzahl der Dateipaare der aktiven Prüfpunkt-Dateipaare in der In-Memory-Dateigruppe in der Datenbank den angegebenen Schwellenwert übersteigt.

Speicheroptimierte Dateigruppen können bis zu 8192 aktive CFPs (Prüfpunktdateipaare) zur Speicherung eingefügter, aktualisierter und gelöschter Zeilen in langlebigen speicheroptimierten Tabellen umfassen. Wenn 8.000 CFPs zugewiesen sind, können keine neuen DML-Transaktionen auf dauerhaften speicheroptimierten Tabellen ausgeführt werden. Die verbleibenden Einträge dürfen nur von Prüfpunkt- und Zusammenführungsvorgängen belegt werden. Dies kann dazu führen, dass die Anwendung nicht mehr zur Verfügung steht. Aus diesem Grund ist es wichtig, die Zahl der CFPs zu überwachen und korrektive Maßnahmen zu ergreifen.

Ursachen

Hierfür bestehen zwei Hauptgründe: erstens die Überschreitung der 256-GB-Grenze für die In-Memory-Größe der dauerhaften speicheroptimierten Tabellen, zweitens die automatische Zusammenführung und/oder die Data Persistenz des Hintergrundthreads, die mit der Transaktionsaktivität nicht Schritt halten kann.

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

Lösungen

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

Sie sollten zudem sicherstellen, dass der Datenspeicher für speicheroptimierte Dateigruppen nicht durch E/A-Vorgänge eingeschränkt wird.

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

 

Ja

Generiert Warnungen

 

Nein

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs
RelationshipMicrosoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>