Configuração:
- Windows Server 2008 R2
- SQL Server 2008 R2 SP1
- 240GB RAM
- TempDB são arquivos de dados de 8x16GB sem crescimento automático (total de 128GB)
- Servidor Físico / Independente
Este servidor é usado para processamento ETL. Acabamos de instalar mais RAM neste servidor, totalizando 240 GB de RAM. Os serviços do SQL Server são as únicas coisas reais em execução.
A memória aparece bem no BIOS, OpenManage e Windows.
Se eu configurar o SQL Server para usar um mínimo / máximo de 70 / 100GB de memória, não haverá problemas. No entanto, depois que eu aumentar para 120 / 150GB, recebo o seguinte erro ao executar um dos nossos processos ETL:
Não foi possível alocar espaço para o objeto '<objeto temporário do sistema: 422234507706368>' no banco de dados 'tempdb' porque o grupo de arquivos 'PRIMARY' está cheio. Crie espaço em disco excluindo arquivos desnecessários, descartando objetos no grupo de arquivos, adicionando arquivos adicionais ao grupo de arquivos ou configurando o crescimento automático para arquivos existentes no grupo de arquivos. (Mensagem 1105, estado 2, procedimento desconhecido, linha 1)
Nunca encontramos esse problema antes de alterar a configuração da memória. Depois de reconfigurar o original para 70 / 100GB, não recebemos esse erro.
Coisas que tentei:
- Defina os arquivos de dados TempDB para crescimento automático. Isso simplesmente resulta no crescimento automático dos arquivos até que a capacidade do disco seja atingida e falhe.
- Adicione mais arquivos de dados TempDB. Mesmo erro que o mostrado.
- Aumente o tamanho do TempDB para 8x32GB (total de 256GB)
Estou sem saber o que poderia estar causando esse problema.