Eu tenho dois bancos de dados quase idênticos (estruturalmente):
- Documentos
- DocumentosAntigo
O banco de dados original existia antes do particionamento de tabelas estar disponível, então a solução encontrada foi criar o segundo banco de dados e migrar todos os dados antigos para ele após cada ano. Agora eles querem mesclar os dois bancos de dados novamente.
Eu fiz algumas pesquisas e descobri que ambos os bancos de dados têm apenas pequenas diferenças de estrutura entre as tabelas e nenhuma coluna de IDENTIDADE.
Portanto, além das pequenas diferenças estruturais, eu diria que seria possível apenas INSERIR valores do banco de dados antigo de volta ao primeiro.
O banco de dados é realmente um pouco grande e tem mais de 100 tabelas.
O que eu quero saber é, faria sentido usar o SSIS para fazer isso ou o SSIS é adequado para esse tipo de trabalho? Ou devo apenas escrever código T-SQL para fazer o trabalho?
Como uma pergunta adicional, existem ferramentas mais adequadas do que as duas primeiras opções acima para esse tipo de trabalho?
Eu mesmo iria direto para o SSIS. Além de ter configuração, registro e tratamento de erros prontos para uso, você pode obter um desempenho muito bom com isso.
Você provavelmente poderia economizar um pouco de tempo usando algo como EzAPI para criar o script da maioria dos pacotes e, em seguida, ajustar os 10% restantes.
Recentemente, usei essa abordagem para criar um script de replicação de aproximadamente 150 tabelas de nossa instância do Informix para o SQL Server. Economizei muito tempo configurando o básico, tudo o que tive que fazer foi corrigir alguma incompatibilidade de tipo de dados entre os sistemas. Estou atrasado no blog sobre o EzAPI, mas posso reunir uma amostra se você estiver interessado na abordagem.
Editar
Montei uma demonstração de replicação de tabelas com SSIS EzAPI . Você precisaria modificar os valores em ReplicateTables e, em seguida, modificar a consulta em GenerateTableList para garantir a identificação de todas as tabelas aplicáveis.