-- ============================================================================= -- SQL Server 2017 Express - Optimizaciones para Bajo Consumo de RAM -- ============================================================================= -- Aplicar automáticamente al iniciar el contenedor -- RAM objetivo: 384MB - 512MB -- ============================================================================= -- Habilitar opciones avanzadas EXEC sp_configure 'show advanced options', 1; RECONFIGURE; -- MAX SERVER MEMORY: Limitar buffer pool (ajustar según contenedor) -- Para 384MB container: usar 280-320MB -- Para 512MB container: usar 380-420MB EXEC sp_configure 'max server memory', 320; RECONFIGURE; -- MIN SERVER MEMORY: Permitir liberar memoria bajo presión EXEC sp_configure 'min server memory', 128; RECONFIGURE; -- OPTIMIZE FOR AD HOC WORKLOADS -- Reduce memoria del plan cache para queries únicos -- Cachea stub pequeño en lugar de plan completo EXEC sp_configure 'optimize for ad hoc workloads', 1; RECONFIGURE; -- MAX DEGREE OF PARALLELISM (MAXDOP) -- Limitar a 2 para reducir consumo en operaciones paralelas EXEC sp_configure 'max degree of parallelism', 2; RECONFIGURE; -- COST THRESHOLD FOR PARALLELISM -- Subir umbral: solo queries costosas usan paralelismo EXEC sp_configure 'cost threshold for parallelism', 50; RECONFIGURE; -- RECOVERY INTERVAL -- Checkpoints más frecuentes = recuperación más rápida tras crash EXEC sp_configure 'recovery interval (min)', 1; RECONFIGURE; -- ============================================================================= -- TRACE FLAGS PARA ESTABILIDAD -- ============================================================================= -- TF 3226: Suprime mensajes de backup exitosos en el log (reduce I/O) DBCC TRACEON(3226, -1); -- TF 1118: Reduce contención en tempdb (extents uniformes) DBCC TRACEON(1118, -1); -- TF 1117: Crecimiento uniforme de archivos de datos DBCC TRACEON(1117, -1); PRINT '[LOWRAM] Todas las optimizaciones aplicadas correctamente'; GO