Intimamente relacionado a esta questão de algumas semanas atrás, mas as respostas não discutiram como fazer a ação suja . Eis a situação:
Agora temos 15 GB de dados em um banco de dados, mas um bug de registro em um aplicativo correu descontroladamente e executou até 80 GB de dados, fornecendo arquivos de banco de dados em torno de 130 GB. Corrigimos o bug, limpamos as tabelas afetadas e gostaria de recuperar um pouco do espaço, talvez reduzir o banco de dados para 40 GB ou algo assim.
O maior motivo pelo qual gostaria de fazer isso é para que possamos restaurar backups com mais facilidade em unidades menores em instâncias de teste virtuais.
Entendi: Shrink é mau e fragmentará os índices e o arquivo em disco. Estou vendido. Este é um evento único.
Então, como posso minimizar a dor? Parece que eu deveria:
- Use
DBCC SHRINKFILE (DataFile1, 40000);
para apontar para 40 GB. - Use imediatamente alguma reindexação inteligente para reorganizar e reconstruir índices
- Desfragmentar discos físicos
Isso atenuará adequadamente os efeitos colaterais de um psiquiatra? Ou isso só vai acabar na minha inscrição para a Evil League of Evil?