Eu tenho um banco de dados de produção muito grande e um banco de dados de ambiente de teste muito grande no SQL Server 2008R2. Ambos os bancos de dados têm estrutura de tabela semelhante, mas diferentes usuários / logins / permissões / funções.
Eu preciso atualizar apenas algumas tabelas no banco de dados de teste periodicamente da produção, cerca de uma vez por mês.
A maneira atual em que planejo fazer isso é
- Use o utilitário BCP para fazer uma exportação das tabelas necessárias de Produção.
- Copie o arquivo de exportação bcp no servidor de teste
- Desativar índices e restrições em todas as tabelas que estou atualizando no teste
- Truncar as tabelas de banco de dados de teste
- Carregue os dados novamente nas tabelas de banco de dados de teste usando o BCP.
- reconstruir índices e reativar restrições em Teste
Tudo isso parece um pouco complicado demais para uma tarefa tão pequena. Também parece que isso geraria muito refazer (no t-log). Existe uma maneira melhor de fazer isso?
Outra maneira que pensei em fazer isso é restaurar um backup do Production para o ambiente de teste - mas o problema é que um backup completo seria muito grande e não preciso que todas as tabelas sejam atualizadas, apenas algumas- e também os usuários e a segurança no banco de dados de produção são diferentes de teste. Isso seria substituído pelas configurações de segurança no banco de dados de produção se eu restaurar o banco de dados inteiro.