Configurar:
- Windows Server 2008 R2
- SQL Server 2008 R2 SP1
- RAM de 240 GB
- TempDB é 8x16GB de arquivos de dados sem crescimento automático (total de 128GB)
- Servidor Físico/Autônomo
Este servidor é usado para processamento de ETL. Acabamos de instalar mais RAM neste servidor para um total de 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/100 GB de memória, não teremos problemas. No entanto, depois de aumentar para 120/150 GB, recebo o seguinte erro ao executar um de nossos processos ETL:
Não foi possível alocar espaço para o objeto '<objeto de sistema temporário: 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 definindo o crescimento automático para arquivos existentes no grupo de arquivos. (Msg 1105, Estado 2, Procedimento Desconhecido, Linha 1)
Nunca nos deparamos com esse problema antes de alterar a configuração da memória. Depois de reconfigurar de volta para os 70/100 GB originais, não recebemos esse erro.
Coisas que eu 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, em seguida, falha.
- Adicione mais arquivos de dados TempDB. Mesmo erro mostrado.
- Aumente o tamanho do TempDB para 8x32 GB (total de 256 GB)
Estou sem saber o que pode estar causando esse problema.