
Estou executando uma consulta SQL no meu banco de dados. Tenho o SQL Server 2008 instalado no meu disco rígido D, que possui 55 GB de espaço livre.
Eu também tenho a unidade C que tem cerca de 150 MB livres (no momento).
Ao executar essa consulta em uma tabela bastante grande (16 GB), ocorreu um erro:
Ocorreu um erro ao executar o lote. A mensagem de erro é: Espaço em disco insuficiente.
Gostaria de saber se existe alguma possibilidade de fazer com que o SQL Server use a unidade D em vez de C
Ou talvez haja algum outro problema com o que estou fazendo?
Obrigado pela ajuda
Responder1
Este é provavelmente um problema de registro. Você pode mover o arquivo de log para uma unidade diferente e usar um log de nível inferior.
Responder2
É provável que seja o TEMPDB, um dos bancos de dados do sistema do SQL Server. Ele terá sido criado no local padrão do banco de dados pelo instalador.
Este artigofala sobre mover o tempdb.
Da mesma forma, você pode adicionar arquivos adicionais (expansíveis) em D: ao grupo de arquivos primário do banco de dados tempdb e, em seguida, definir os padrão para tamanho fixo (e, eventualmente, liberá-los e removê-los).
Responder3
Você está executando a consulta usando um aplicativo cliente no servidor SQL, como SSMS? Nesse caso, provavelmente é, usando a unidade C para armazenar a saída para exibição, especialmente se você estiver executando a saída em uma grade. Tente executar a consulta usando a linha de comando SQLCMD.