Problema estranho: estou tentando restaurar AdventureWorks2019 a partir do arquivo de backup baixado e recebo constantemente o erro
Erro SQL [3257] [S0001]: Não há espaço livre suficiente no volume de disco 'C:' para criar o banco de dados. O banco de dados requer 285212672 bytes livres adicionais, enquanto apenas 142028800 bytes estão disponíveis.
Não há espaço livre suficiente no volume de disco 'C:' para criar o banco de dados. O banco de dados requer 285212672 bytes livres adicionais, enquanto apenas 142028800 bytes estão disponíveis. Não há espaço livre suficiente no volume de disco 'C:' para criar o banco de dados. O banco de dados requer 285212672 bytes livres adicionais, enquanto apenas 142028800 bytes estão disponíveis.
embora a unidade C: contenha 21 + GiB de espaço livre.
Tentar a restauração do SSMS ou via comando de restauração SQL não faz diferença.
Mesmo assim, tentei liberar o ›valor adicional‹, mas sem sucesso.
O backup e a restauração de um banco de dados de teste funcionaram, embora tenham alterado o número de bytes disponíveis na mensagem de erro do AdventureWorks. Então eu acho que o SQL Server está realmente procurando na pasta certa. O próprio arquivo de backup pode ser restaurado em uma instância diferente (2022) do SQL Server, portanto, não é um log oculto explodindo em tamanho (o que geraria números diferentes, de qualquer maneira).
O SQL Server foi atualizado com “KB5029377 – atualização de segurança para SQL Server 2019 GDR”, mas isso também não mudou nada.
A redefinição do sinalizador somente leitura na pasta de dados também não mudou nada.
Como não tenho a menor ideia de por que ou mesmo como números errados podem ser reportados, estou um pouco sem opções… Alguém tem alguma ideia? (Isso talvez seja um comportamento conhecido? Não encontrei nada nele, exceto um thread de 11 anos no stackoverflow.)
Adicionar: Exportar o banco de dados como camada de dados e importar o arquivo .bacpac no servidor em questão também não funcionou, com o mesmo erro: Espaço em disco insuficiente.
Então esse servidor aparentemente vê um tamanho livre errado em sua pasta de dados!?
Add2: Desinstalar e reinstalar o SQL Server também não produziu nenhum efeito. Ainda o mesmo erro.
Add3: Um nome de instância diferente, um nome de pasta de dados diferente e reinstalação com opção de download e a partir de imagem iso também não resultou em nada.
É muito incomum que o MSSQL e o sistema de arquivos discordem sobre os tamanhos dos discos. Houve um tempo, muito tempo atrás, em que os programas não entendiam sobre discos maiores que algum valor (2G? 4G? 8G? Sim, já faz muito tempo) e olhavam (por exemplo) para um disco de 4,5 GB e perdi a parte de 4GB, pensando que o disco tinha apenas 0,5GB. No entanto, isso é muito improvável para um programa de 2019.
Muito mais provável é que de alguma forma uma cota de disco tenha sido definida, no usuário MSSQL ou na pasta de dados MSSQL. Na verdade, isso estaria no topo da minha lista de coisas a verificar, especialmente porque a quantidade de espaço livre está bastante próxima de um “número redondo”, neste caso 150 MB.
Você também pode tentar aumentar o tamanho máximo do banco de dados