He estado teniendo errores periódicos de OOM de SQL Server, una vez hasta el punto de que SQL Server se cerró y siempre sucedió durante la noche, cuando nadie lo está usando, y ningún trabajo del Agente SQL se ejecuta en ese momento:
Aquí está el error típico:
17/08/2017 19: 31: 17, spid100, Desconocido, No hay suficiente memoria del sistema en el grupo de recursos 'interno' para ejecutar esta consulta.
17/08/2017 19: 31: 17, spid100, Desconocido, Error: 701 Gravedad: 17 Estado: 123.
17/08/2017 19: 31: 17, spid112, Desconocido, Error: 18056 Gravedad: 20 Estado: 29. (Parámetros :). El error se imprime en modo breve porque hubo un error durante el formateo. Se omiten las notificaciones de seguimiento de ETW, etc.
Aquí está la información del servidor:
- 10 GB de memoria mínima del servidor SQL
- 21 GB de memoria máxima del servidor SQL
- solo 4 DB en el servidor
- sus tamaños son solo de 1 a 2 GB cada uno
- El tamaño de Tempdb nunca aumentó a más de 1 GB (configurado para crecer automáticamente a 10 GB)
- Todos los índices son bajos, estadísticas actualizadas
Versión:
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)
Verifiqué varios elementos:
- DBCC memorystatus
Estadísticas rápidas:
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB] FROM sys.dm_os_process_memory; GO Output: 20 GB Page Life Expectancy 155932
Ningún gobernador de recursos habilitado:
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
El servidor está en SP3, sé que hubo un problema de pérdida de memoria en SP1, por lo que descarto eso.
¿Alguien nota algo en el resultado de DBCC en el que debería centrarme?