Temos uma instância do SQL Server usada para arquivamento de email (cortesia de um pacote de arquivamento de terceiros). De vez em quando, o software é transferido para um novo banco de dados vazio. Fizemos isso trimestralmente no passado, mas pretendemos fazer isso mensalmente agora. A quantidade de dados arquivados é de cerca de 15 a 20 GB por mês, e a maior parte dos dados reside em apenas algumas tabelas (geralmente 2 a 4).
Depois que passamos para um novo banco de dados, o antigo passa a ser usado estritamente somente leitura. O que eu gostaria de fazer é otimizá-lo em um arquivo de dados compacto e agradável, com todas as tabelas / índices contíguos e com um fator de preenchimento muito alto e pouco espaço vazio no final do arquivo de dados. Além disso, estamos usando o Standard Edition neste servidor, com todas as limitações que isso implica (caso contrário, eu já estaria usando a compactação de dados).
Algumas possibilidades que posso pensar:
- Índices REBUILD / REORGANIZE, DBCC SHRINKFILE (Ok, essa não é uma opção sensata, pois o DBCC SHRINKFILE fragmentará a irritação de qualquer coisa que tocar, mas estou incluindo a integridade).
- Crie um novo banco de dados com as estatísticas automáticas desativadas. Script e recrie todas as tabelas do banco de dados de origem. Use bcp para exportar / importar os dados para o novo banco de dados, em ordem de chave de cluster. Script e recrie todos os índices. Recalcule todas as estatísticas com varredura completa.
- Crie um novo banco de dados com as estatísticas automáticas desativadas. Script e recrie todas as tabelas do banco de dados de origem. Use SSIS ou T-SQL para transferir dados para o novo banco de dados. Script e recrie todos os índices. Recalcule todas as estatísticas com varredura completa.
A etapa final em todos os casos seria definir o banco de dados no modo somente leitura.
Que outras opções boas / melhores existem para fazer isso? Minha preocupação é transferir os dados de maneira a preservar um alto fator de preenchimento e de uma maneira logicamente contígua.
Editar:
Devo mencionar que cerca de 75% dos dados parecem armazenados em colunas de imagem (LOB).
PRIMARY
?