Estou tentando automatizar a limpeza de nosso ambiente de teste para alinhá-lo com a produção no final de cada sprint.
No momento, isso está sendo concluído pelo ambiente de teste, pegando o backup completo e fazendo uma restauração com mover e substituir; no entanto, isso está consumindo a maior parte do espaço que temos.
A intenção é criar o ambiente do zero e preencher apenas as tabelas necessárias.
Posso usar 'Clique com o botão direito do mouse > Tarefas > Gerar scripts...' para criar a estrutura do banco de dados.
Existe uma maneira de criar esse script de dentro de um procedimento armazenado para que possa ser usado para recriar o banco de dados
Também estou trabalhando neste bit como está, mas obviamente esse script apenas criará o banco de dados em seu tamanho atual, então todos os tamanhos de arquivo precisam ser modificados assim que o script for gerado
Agradeço qualquer ajuda
Existem vários métodos que você pode usar. Em ordem de dificuldade (IMHO do mais fácil para o mais difícil)
Up side
- Este é o método mais fácil de codificar e deve ser bastante rápidoDown side
- Isso requer manutenção constante à medida que o código/dados do seu banco de dados de origem muda.Up side
- Também bastante fácil de implementar e não requer um banco de dados "modelo" adicional que você copiará.Down side
- Também requer manutenção constanteUp side
- Este é o método mais poderoso. Não exigirá muita manutenção e você provavelmente poderá até encontrar um script que outra pessoa escreveu como ponto de partida.Down side
- Isso requer que você conheça o Powershell pelo menos um pouco. (O que também pode ser considerado um lado positivo)Up Side
- Manutenção mínima e tudo pode ser executado dentro do SQLDown side
- código mais difícil, você provavelmente não consegue encontrar um script já construído e precisa habilitar os procedimentos de automação OLE (um risco de segurança, se mínimo).Eu provavelmente devo observar que meu pensamento original era que você queria que isso fosse reproduzível. Se você só precisa fazer isso uma vez, @MaxVernon está certo. Trunque as tabelas nas quais você não precisa de dados (ou exclua o que não precisa) e reduza. Você pode ter que fazer isso um pouco de cada vez, dependendo de como você está limitado pelo espaço.