Eu tenho um banco de dados legado cuja pesadelo falta de design não entrarei aqui, mas os arquivos no servidor são (relativamente) enormes. Eu tenho:
MyDatabase.mdf: 24.8GB
MyDatabase.ldf: 114.6GB
É feito backup desse banco de dados em um arquivo .bak todas as noites e enviado para o nosso servidor de relatórios, onde é restaurado. O arquivo .bak é muito menor, com apenas 1,8 GB.
No entanto, quando tento restaurá-lo no servidor de relatórios, ele falha devido ao espaço insuficiente. Existem cerca de 100 GB gratuitos no servidor e ele está tentando consumir os 139,4 GB inteiros que os arquivos consumiram no servidor original. A menos que meu conhecimento de compactação esteja terrivelmente errado, estou bastante confiante de que o arquivo de 1,8 GB não está realmente expandindo 7400%.
Minha pergunta: Existe alguma maneira de dizer ao SQL Server para restaurar esse arquivo de backup sem reservar esse espaço antecipadamente? Eu não me importo com nenhum dos logs; Eu só preciso que os dados estejam lá. Entendo bancos de dados da perspectiva de desenvolvimento e esquema, mas não sou de forma alguma qualquer DBA.
Isso está no SQL Server 2008 R2. Agradeço por qualquer ajuda ou sugestões.
fonte
O SQL Server 2012 permite usar apenas o arquivo mdf do banco de dados e anexá-lo ao SQL Server: http://msdn.microsoft.com/en-us/library/ms174385.aspx . O SQL Server cria um novo arquivo ldf no qual você pode especificar o tamanho. Então:
fonte