Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Azure SQL-Datenbank
Azure SQL Managed Instance
Gibt ein Abmelden von OOM-Ereignissen (Out of Memory, OOM) zurück.
Weitere Informationen zu nicht genügend Arbeitsspeicherbedingungen in Azure SQL-Datenbank finden Sie unter "Problembehandlung bei Nichtspeicherfehlern in Azure SQL-Datenbank".
Spaltenname | Datentyp | Beschreibung |
---|---|---|
event_time |
datetime, not null | OOM-Ereigniszeit. |
oom_cause |
tinyint, nicht null | Ein numerischer Wert, der die Ursache für OOM angibt. Die OOM-Ursache wird durch einen heuristischen Algorithmus bestimmt und erhält einen begrenzten Grad an Konfidenz. |
oom_cause_desc |
nvarchar(30), nicht NULL | Beschreibung von oom_cause , eine von:0. UNBEKANNT - OOM-Ursache konnte nicht bestimmt werden 1. HEKATON_POOL_MEMORY_LOW – Unzureichender Arbeitsspeicher im Ressourcenpool, der für IN-Memory OLTP verwendet wird. Weitere Informationen finden Sie unter "In-Memory OLTP überwachen". 2. MEMORY_LOW – Nicht genügend Arbeitsspeicher für den Datenbankmodulprozess verfügbar 3. OS_MEMORY_PRESSURE – OOM aufgrund des externen Speicherdrucks vom Betriebssystem 4. OS_MEMORY_PRESSURE_SQL – OOM aufgrund des externen Speicherdrucks anderer Datenbankmodulinstanzen 5. NON_SOS_MEMORY_LEAK - OOM aufgrund eines Lecks im Nicht-SOS-Speicher, z. B. geladene Module 6. SERVERLESS_MEMORY_RECLAMATION – OOM im Zusammenhang mit der Speicherbekundung in einer serverlosen Datenbank 7. MEMORY_LEAK – OOM aufgrund eines Lecks im SOS-Speicher 8. SLOW_BUFFER_POOL_SHRINK – OOM aufgrund des Pufferpools wird nicht schnell genug Arbeitsspeicher unter Speicherdruck freigegeben 9. INTERNAL_POOL – Unzureichender Arbeitsspeicher im internen Ressourcenpool 10. SYSTEM_POOL – Unzureichender Arbeitsspeicher in einem Systemressourcenpool 11. QUERY_MEMORY_GRANTS - OOM aufgrund großer Speichererteilungen, die von Abfragen gehalten werden 12. REPLICAS_AND_AVAILABILITY – OOM aufgrund von Workloads im SloSecSharedPool-Ressourcenpool |
available_physical_memory_mb |
int, nicht NULL | Verfügbarer physischer Arbeitsspeicher in Megabyte. |
initial_job_object_memory_limit_mb |
int, null | Grenzwert für auftragsobjektspeicher beim Starten des Datenbankmoduls in Megabyte. Weitere Informationen zu Auftragsobjekten finden Sie unter Ressourcengovernance. |
current_job_object_memory_limit_mb |
int, null | Aktuelle Speichergrenze des Auftragsobjekts in Megabyte. |
process_memory_usage_mb |
int, nicht NULL | Gesamtanzahl der Verarbeitungsspeicherauslastung in Megabyte nach der Instanz. |
non_sos_memory_usage_mb |
int, nicht NULL | Nicht-SOS-Verwendung in Megabyte, einschließlich SOS erstellter Threads, Threads, die von Nicht-SOS-Komponenten, geladenen DLLs usw. erstellt wurden. |
committed_memory_target_mb |
int, nicht NULL | SOS-Zielspeicher in Megabyte. |
committed_memory_mb |
int, nicht NULL | SOS hat Arbeitsspeicher in Megabytes zugesichert. |
allocation_potential_memory_mb |
int, nicht NULL | Arbeitsspeicher, der für die Datenbankmodulinstanz für neue Zuordnungen in Megabyte verfügbar ist. |
oom_factor |
tinyint, nicht null | Ein Wert, der zusätzliche Informationen im Zusammenhang mit dem OOM-Ereignis bereitstellt, nur für die interne Verwendung. |
oom_factor_desc |
nvarchar(30), nicht NULL | Beschreibung von oom_factor . Nur zur internen Verwendung. Eine der folgenden Optionen:0 – UNDEFINED 1 - ALLOCATION_POTENTIAL 2 - BLOCK_ALLOCATOR 3 - ESCAPE_TIMEOUT 4 - FAIL_FAST 5 - MEMORY_POOL 6 - EMERGENCY_ALLOCATOR 7 - VIRTUAL_ALLOC 8 – SIMULIERT 9 - BUF_ALLOCATOR 10 - QUERY_MEM_QUEUE 11 - FRAGMENT 12 - INIT_DESCRIPTOR 13 - MEMORY_POOL_PRESSURE 14 - DESCRIPTOR_ALLOCATOR 15 - DESCRIPTOR_ALLOCATOR_ESCAPE |
oom_resource_pools |
nvarchar(4000), null | Ressourcenpools, die nicht genügend Arbeitsspeicher haben, einschließlich Speicherauslastungsstatistiken für jeden Pool. Diese Informationen werden als JSON-Wert bereitgestellt. |
top_memory_clerks |
nvarchar(4000), null | Die wichtigsten Speicherkaufleute nach Speicherverbrauch, einschließlich der Speicherauslastungsstatistiken für jeden Mitarbeiter. Diese Informationen werden als JSON-Wert bereitgestellt. |
top_resource_pools |
nvarchar(4000), null | Die wichtigsten Ressourcenpools nach Speicherverbrauch, einschließlich Der Speicherauslastungsstatistiken für jeden Ressourcenpool. Diese Informationen werden als JSON-Wert bereitgestellt. |
possible_leaked_memory_clerks |
nvarchar(4000), null | Speicherkaufleute, die Arbeitsspeicher verloren haben. Basierend auf Heuristiken und mit einem begrenzten Maß an Vertrauen. Diese Informationen werden als JSON-Wert bereitgestellt. |
possible_non_sos_leaked_memory_mb |
int, null | Wenn vorhanden, ist kein SOS-Speicher in Megabyte verloren. Basierend auf Heuristiken und mit einem begrenzten Maß an Vertrauen. |
Berechtigungen
Für Azure SQL verwaltete Instanz ist die Berechtigung erforderlichVIEW SERVER PERFORMANCE STATE
.
Für die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos oder die Mitgliedschaft in der ##MS_ServerPerformanceStateReader##
Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE PERFORMANCE STATE
-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerPerformanceStateReader##
-Serverrolle erforderlich.
Hinweise
Jede Zeile in dieser Ansicht stellt ein Nichtspeicherereignis (OOM) dar, das im Datenbankmodul aufgetreten ist. Nicht alle OOM-Ereignisse werden möglicherweise erfasst. Ältere OOM-Ereignisse können aus dem Resultset verschwinden, da neuere OOM-Ereignisse auftreten. Das Resultset wird nicht über Neustarts des Datenbankmoduls hinweg beibehalten.
Derzeit ist dieser DMV sichtbar, wird jedoch in SQL Server 2022 (16.x) nicht unterstützt.
summarized_oom_snapshot erweitertes Ereignis
Das summarized_oom_snapshot
erweiterte Ereignis ist Teil der system_health
Ereignissitzung, um die Erkennung von Speicherereignissen zu vereinfachen. Jedes summarized_oom_snapshot
erweiterte Ereignis entspricht einer Zeile in sys.dm_os_out_of_memory_events
. Weitere Informationen finden Sie im Blog: Eine neue Möglichkeit zur Problembehandlung bei unzureichendem Arbeitsspeicher in der Datenbank-Engine.
Beispiel
Im folgenden Beispiel werden Ereignisdaten zurückgegeben, die nach der letzten Zeit für das Datenbankmodul sortiert wurden, in dem die aktuell verbundene Datenbank gehostet wird.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
Zugehöriger Inhalt
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL-Datenbank)
- Optimieren der Leistung mithilfe von In-Memory-Technologien in Azure SQL-Datenbank
- Optimieren der Leistung mithilfe von In-Memory-Technologien in Azure SQL verwaltete Instanz
- Überwachen des In-Memory-OLTP-Speichers in Azure SQL-Datenbank
- Überwachen des In-Memory-OLTP-Speichers in Azure SQL Managed Instance
- Behandeln von Fehlern mit unzureichendem Arbeitsspeicher mit Azure SQL-Datenbanken