Eu tenho um banco de dados Microsoft SQL 2008 R2 com cerca de 50GB de dados de clientes e cerca de 500MB de dados não específicos do cliente, como inventário, peças, terminologia, etc. Eu gero uma cópia limpa do banco de dados sem dados do cliente para teste usando o seguinte procedimento aproximado (é totalmente roteirizado):
Agora, vamos permitir que desenvolvedores externos obtenham uma cópia do arquivo de backup limpo produzido na última etapa, em vez de apenas o acesso do servidor SQL (consulta) ao banco de dados de teste.
Minha pergunta: Posso ter certeza de que todas as páginas / extensões com banco de dados sensível ao cliente foram zeradas / removidas na etapa 6 (se o próprio arquivo de backup foi aberto com um editor hexadecimal)? E quanto a cobrir índices, ainda haverá páginas possivelmente "sujas"? Tenho certeza de que há uma resposta de capítulo e verso para isso, mas não consigo encontrá-lo on-line.
Pergunta complementar: estou fazendo backup e restaurando 50 GB para ter um banco de dados de 500 MB. 500MB ainda é mais do que eu gostaria de reproduzir novamente através de instruções INSERT em um banco de dados vazio. Existe uma maneira melhor de clonar a estrutura de 300 tabelas e também estruturar + dados em 50 tabelas? Fazemos pelo menos 2 mudanças de esquema significativas por mês (novas tabelas, novas colunas, remover colunas, etc). O script atual leva 10 minutos para ser executado, então estou bem, mas gostaria de melhorar, se possível.
Tags sql-server