Eu sou muito novo no SQL Server 2012, ficaria muito grato se alguém puder ajudar. Eu restaurei uma cópia de um grande banco de dados no SQL Server 2012 e tentei executar algumas consultas simples nele.
Estou tentando executar uma consulta SELECT em uma tabela de 136898115
linhas de banco de dados . Esta SELECT
consulta possui apenas uma WHERE
cláusula simples . Toda vez que executo essa consulta, ela falha porque o disco do sistema (a partição em que o Windows está instalado - C:\
) fica sem espaço (essa partição possui apenas 6 GB de espaço livre) e não entendo o motivo. Eu defini meu tempdb para estar em uma unidade diferente, que possui mais de 14 terabytes de espaço livre. É claro que meu banco de dados também está localizado em uma unidade diferente.
O que faz com que minha partição do sistema fique sem espaço? É o arquivo de paginação?
fonte
Respostas:
Os resultados da consulta do SSMS são armazenados em cache na unidade C: por padrão. Vá para Tool \ Options. Ver anexo. Mude isso para outro volume com mais armazenamento e você ficará bem.
fonte
Ok, eu descobri: Eric e eu estávamos certos!
C:\Users\<UserName>\AppData\Local\Temp
no meu caso aqui). Eu verifiquei e não parece haver uma maneira óbvia de desativar esse cache.Portanto, os tópicos são:
SELECT *
uma tabela enorme no SSMS, a menos que o conjunto de resultados possa caber na pasta de perfilfonte
Eu apenas sofri o mesmo problema. Depois de ler as respostas acima, encontrei o seguinte.
Ferramentas | Opções não é a resposta. O meu foi definido como unidade Y: ainda assim, vi a minha consulta ser executada e o espaço na unidade C: mergulhar de 2,9 GB para 5,04 MB (antes de encerrar a consulta).
Então eu pensei que provavelmente os resultados do cache (como eles são muito grandes com cada linha retornada contendo um grande pedaço de XML) para o diretório Temp, que foi o que Jon disse, mas não tinha certeza de como você mudaria isso.
O que fiz para alterar onde os arquivos temporários são gravados foi abrir minhas variáveis de ambiente e editar as variáveis de usuário TEMP e TMP (que foram definidas como C: \ Temp) para gravar em Z: \ Temp.
Posso confirmar que, após essa alteração, observei a consulta criar um arquivo muito grande no meu diretório Z: \ Temp.
fonte