Der Monitor gibt einen kritischen Status und eine Warnung aus, wenn die vom Ressourcenpool genutzte Speichermenge über dem festgelegten Schwellenwert liegt. Dieser Wert wird als Prozentsatz des verfügbaren Speichers für speicheroptimierte Datentabellen für den entsprechenden Ressourcenpool angegeben. Dieser Monitor ist ein Abhängigkeitsmonitor (Rollup).
Der Monitor gibt einen kritischen Status aus, wenn die vom Ressourcenpool genutzte Speichermenge über dem festgelegten Schwellenwert liegt. Dieser Wert wird als Prozentsatz des verfügbaren Speichers für speicheroptimierte Datentabellen für den entsprechenden Ressourcenpool angegeben. Dieser Monitor ist ein Abhängigkeitsmonitor (Rollup).
Wenn der benannte Ressourcenpool einer speicheroptimierten Datenbank zugewiesen ist, verfolgt dieser den Arbeitsspeicher nach, der allen speicheroptimierten Tabellen zugewiesen wurde, darunter auch internen, für verschiedene Strukturen innerhalb des speicheroptimierten Datenmoduls verwendeten Tabellen.
Die Speichernutzung durch speicheroptimierte SQL Server-Daten unterscheidet sich von der Speichernutzung durch SQL Server. Es kann vorkommen, dass die von Ihnen installierte und für speicheroptimierte Daten zugewiesene Speichermenge Ihren gestiegenen Anforderungen nicht mehr entspricht. In diesem Fall ist möglicherweise nicht genügend Arbeitsspeicher vorhanden.
Weitere Informationen finden Sie in folgendem Artikel: Binden einer Datenbank mit speicheroptimierten Tabellen an einen Ressourcenpool.
Um das Problem zu beheben, dass zu wenig oder gar kein Arbeitsspeicher verfügbar ist, müssen Sie entweder vorhandenen Speicherplatz durch Verringerung der Nutzung freigeben oder mehr Speicher für die speicheroptimierten Datentabellen zur Verfügung stellen. Folgende Korrekturmaßnahmen sind möglich:
Prüfen Sie, ob die Garbage Collection durch eine lang ausgeführte Transaktion verhindert wird. Falls ja, könnten Sie die lang ausgeführte Transaktion abbrechen und/oder die Struktur der Anwendung darauf untersuchen, ob sich die Dauer der Transaktionen verkürzen lässt.
Geben Sie vorhandenen Arbeitsspeicher frei.
Löschen Sie nicht grundlegende speicheroptimierte Tabellenzeilen, und warten Sie die Garbage Collection ab.
Verschieben Sie mindestens eine Zeile in eine datenträgerbasierte Tabelle,
Erhöhen Sie den Wert von MAX_MEMORY_PERCENT im Ressourcenpool.
Erhöhen Sie den verfügbaren Speicher für die SQL Server-Instanz, indem Sie den maximalen Serverarbeitsspeicher auf einen höheren Wert konfigurieren.
Installieren Sie zusätzlichen Arbeitsspeicher.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Nein |
Target | Microsoft.SQLServer.2014.Database |
Parent Monitor | System.Health.PerformanceState |
Algorithm | WorstOf |
Source Monitor | Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption |
Relationship | Microsoft.SQLServer.2014.RelationshipType.DatabaseReferencesUserResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Remotable | True |
Accessibility | Public |
<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.MemoryConsumptionRollUp" 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.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.2014.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>