Preparar:
- Windows Server 2008 R2
- SQL Server 2008 R2 SP1
- 240 GB de RAM
- TempDB son archivos de datos de 8x16 GB sin crecimiento automático (128 GB en total)
- Servidor físico / independiente
Este servidor se utiliza para el procesamiento de ETL. Acabamos de instalar más RAM en este servidor para un total de 240 GB de RAM. Los servicios de SQL Server son las únicas cosas reales en ejecución.
La memoria se muestra bien en el BIOS, OpenManage y Windows.
Si configuro SQL Server para usar una memoria mínima / máxima de 70 / 100GB, no tenemos problemas. Sin embargo, una vez que aumento eso a 120 / 150GB, obtengo el siguiente error cuando ejecuto uno de nuestros procesos ETL:
No se pudo asignar espacio para el objeto '<objeto del sistema temporal: 422234507706368>' en la base de datos 'tempdb' porque el grupo de archivos 'PRIMARIO' está lleno. Cree espacio en disco eliminando archivos innecesarios, colocando objetos en el grupo de archivos, agregando archivos adicionales al grupo de archivos o configurando el crecimiento automático para los archivos existentes en el grupo de archivos. (Mensaje 1105, Estado 2, Procedimiento desconocido, Línea 1)
Nunca nos hemos encontrado con este problema antes de cambiar la configuración de la memoria. Después de reconfigurar nuevamente a los 70 / 100GB originales, no recibimos este error.
Cosas que he probado:
- Establezca los archivos de datos TempDB para crecer automáticamente. Esto simplemente hace que los archivos crezcan automáticamente hasta que se alcanza la capacidad del disco y luego falla.
- Agregue más archivos de datos TempDB. El mismo error que se muestra.
- Aumente el tamaño de TempDB a 8x32GB (256GB en total)
No sé qué podría estar causando este problema.