Der Monitor gibt einen kritischen Status und eine Warnmeldung aus, wenn die vom Ressourcenpool genutzte Speichermenge den eingestellten Schwellenwert übersteigt. Diese wird in Prozent des verfügbaren Speichers für In-Memory-Tabellen für den entsprechenden Ressourcenpool angegeben. Dieser Monitor ist ein Abhängigkeits (Rollup)-Monitor.
Der Monitor gibt einen kritischen Status aus, wenn die vom Ressourcenpool genutzte Speichermenge den eingestellten Schwellenwert übersteigt. Diese wird in Prozent des verfügbaren Speichers für In-Memory-Tabellen für den entsprechenden Ressourcenpool angegeben. Dieser Monitor ist ein Abhängigkeits (Rollup)-Monitor.
Wenn der benannte Ressourcenpool einer speicheroptimierten Datenbank zugewiesen wird, verfolgt dieser den Arbeitsspeicher, der allen speicheroptimierten Tabellen, darunter internen, für verschiedene Strukturen innerhalb der In-Memory-OLTP-Engine verwendeten Tabellen, zugewiesen wurde.
Die Speichernutzung durch SQL Server-In-Memory-OLTP unterscheidet sich von der Arbeitsspeichernutzung durch SQL Server. Es kann vorkommen, dass die von Ihnen installierte und für In-Memory-OLTP zugewiesene Speichermenge Ihren gestiegenen Anforderungen nicht mehr entspricht. In diesem Fall könnte Ihnen der Arbeitsspeicher ausgehen.
Weitere Informationen finden Sie in folgendem Artikel: Binden einer Datenbank mit speicheroptimierten Tabellen an einen Ressourcenpool.
Um die Bedingung "zu wenig Arbeitsspeicher" oder "fehlender Speicher" zu beheben, müssen Sie entweder vorhandenen Speicherplatz durch Einschränkung der Nutzung freigeben oder mehr Speicher für die In-Memory-Tabellen zur Verfügung stellen. Mögliche Korrekturmaßnahmen sind:
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 Tabellenzeiten, 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 |
| Ja |
Generiert Warnungen |
| 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>