Ich hatte regelmäßig SQL Server-OOM-Fehler, einmal bis zu dem Punkt, an dem SQL Server sich selbst herunterfuhr und immer nachts auftrat, wenn niemand es verwendet und zu diesem Zeitpunkt kein SQL Agent-Job ausgeführt wurde:
Hier ist der typische Fehler:
17.08.2017 19: 31: 17, spid100, Unbekannt, Im Ressourcenpool 'intern' ist nicht genügend Systemspeicher vorhanden, um diese Abfrage auszuführen.
17.08.2017 19: 31: 17, spid100, Unbekannt, Fehler: 701 Schweregrad: 17 Status: 123.
17.08.2017 19: 31: 17, spid112, Unbekannt, Fehler: 18056 Schweregrad: 20 Status: 29. (Parameter :). Der Fehler wird im knappen Modus gedruckt, da beim Formatieren ein Fehler aufgetreten ist. Die Verfolgung von ETW-Benachrichtigungen usw. wird übersprungen.
Hier ist die Serverinfo:
- 10 GB MIN SQL Server-Speicher
- 21 GB maximaler SQL Server-Speicher
- Nur 4 DBs auf dem Server
- Ihre Größe beträgt jeweils nur 1 bis 2 GB
- Die Tempdb-Größe ist nie auf mehr als 1 GB angewachsen (auf 10 GB eingestellt)
- Die Indizes sind alle niedrig frag, Statistiken aktualisiert
Ausführung:
Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) Oct 20 2015 15:36:27 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
Ich habe mehrere Artikel überprüft:
- DBCC Memorystatus
Schnelle Statistiken:
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB] FROM sys.dm_os_process_memory; GO Output: 20 GB Page Life Expectancy 155932
Kein Ressourcen-Governor aktiviert:
select pool_id, cache_memory_kb, used_memory_kb, out_of_memory_count,used_memgrant_kb from sys.dm_resource_governor_resource_pools Output: pool_id | cache_memory_kb | used_memory_kb | out_of_memory_count | used_memgrant_kb --------+-----------------+----------------+---------------------+----------------- 1 | 295368 | 641416 | 0 | 0 select (physical_memory_in_use_kb/1024) Memory_usedby_Sqlserver_MB, (locked_page_allocations_kb/1024) Locked_pages_used_Sqlserver_MB, (total_virtual_address_space_kb/1024 )Total_VAS_in_MB, process_physical_memory_low, process_virtual_memory_low from sys. dm_os_process_memory Output: Memory_usedby_Sqlserver_MB | Locked_pages_used_Sqlserver_MB | Total_VAS_in_MB | process_physical_memory_low | process_virtual_memory_low ---------------------------------------------------------------------------------------------------------------------------------------- 20553 | 20393 | 134217727 | 0 | 0
Der Server befindet sich auf SP3. Ich weiß, dass in SP1 ein Speicherverlust aufgetreten ist.
Hat jemand etwas im DBCC-Ergebnis bemerkt, auf das ich mich konzentrieren sollte?