Eu tenho um banco de dados de desenvolvimento do SQL Server 2005 que é uma cópia de 30 GB do live. Excluímos alguns dados que não são necessários no dev, o que reduz o espaço no arquivo de dados usado para 20 GB. Portanto, temos cerca de 33% não utilizados.
Preciso recuperar o espaço, o que nos permitirá ter um segundo banco de dados de desenvolvimento no servidor (com base na versão reduzida); no entanto, não posso recuperar o espaço, fiz o seguinte:
O tamanho inicial do arquivo
SMS2_Data
é 30 GB.DBCC SHRINKFILE (N'SMS2_Data' , 0, TRUNCATEONLY)
Seguido por
DBCC SHRINKFILE (N'SMS2_Data' , 19500)
Sem alegria Eu tentei fazer um backup, criando um novo banco de dados com um tamanho inicial baixo e depois restaurando, sem alegria, pois o tamanho inicial é substituído. Também tentei:
ALTER DATABASE SMS2HazSub MODIFY FILE (NAME = 'SMS2_Data', SIZE = 20000)
Este erro, dizendo:
Falha na modificação do arquivo. O tamanho especificado é menor que o tamanho atual.
Eu tentei o 20800 e continuei subindo até 29000 (29GB) e ele ainda não me permitirá alterá-lo.
Ter feito o psiquiatra, em seguida, mudou o modo de recuperação de e FULL
para SIMPLE
trás novamente. Sem alegria
Eu pensei que tinha a ver com alguns TEXT
campos. Temos cerca de 6 em todo o sistema. Então, como teste, larguei todos eles e, em seguida, reduzi o arquivo e ainda não havia alterações.
A única opção que resta é reimportar os dados para outro banco de dados. Isso não é prático, pois teria que ser feito no banco de dados ativo, o que traz muito risco. Captamos semi-regularmente uma cópia do banco de dados ativo e sobrescrevemos o dev / test. Temos algo como 500 mesas. Eu gostaria de uma maneira de fazer isso que não corresse o risco de exportar dados para um novo banco de dados.
Tentei mover os dados para outro arquivo e ele copiou todos, exceto 5% dos dados. Foi isso que me levou a tentar soltar todas as colunas de texto.
O servidor está no modo de compatibilidade 90, mas é o SP2. Eu já fiz as seguintes três vezes: reindexar todas as tabelas, banco de dados de backup, arquivo de redução, banco de dados de redução. Ainda sem alegria.
EXECUTE sp_spaceused
retorna:
database_name database_size unallocated space
SMS2Tests 31453.94 MB 13903.16 MB
reserved data index_size unused
16545568 KB 10602264 KB 4254360 KB 1688944 KB