Espaço excessivo necessário para a restauração do SQL Server .bak

1

Estou tentando restaurar um backup do SQL Server 2008 (edição padrão) para minha máquina dev usando o banco de dados de produção. Eu recebo um erro "espaço livre insuficiente" ao fazer isso. O SQL Server afirma que precisa de 43 GB livres para restaurar meu banco de dados, mas o arquivo .bak é de apenas 4,5 GB! Claro, eu vou dar um pouco de espaço para operar, mas 10x a quantidade de espaço real usado parece um pouco excessivo. Eu não estou compactando esse db (quando eu comprimir o arquivo .bak, ele desce para .8 GB).

Há algo que eu possa fazer no banco de dados original para permitir que ele seja instalado em um espaço de trabalho menor?

    
por ep4169 29.10.2009 / 18:43

2 respostas

1

É provável que o seu arquivo de log de transações ... o backup deseje criar um tão grande quanto o original.

Sua melhor aposta, se este for o caso, é reduzir o arquivo de log antes de fazer o backup.

Outra opção fora do backup, se você puder se safar, é desanexar, copiar o arquivo de banco de dados e anexar novamente, o SQL criará um novo arquivo de log de transações no tamanho padrão de 1mb.

    
por 29.10.2009 / 18:46
0

Os 43 GB são o tamanho combinado (mais provável) dos arquivos MDF e LDF.

Um backup só usa páginas usadas nos arquivos, então é perfeitamente possível, especialmente se você tiver uma fragmentação pesada de tabela / índice ou nunca tiver gerenciado seus arquivos de log ou nunca tiver feito manutenção de índice

Correção: mais espaço em disco (claro!). Tente e restaure para uma pasta NTFS compactada, unidade USB externa / caneta ou outra caixa para gerar mais armazenamento temporário, classifique os dados, faça backup novamente, restaure "normalmente"

    
por 29.10.2009 / 20:48