Ferramentas de comparação de banco de dados
Pergunta
Minha empresa possui vários bancos de dados Access relativamente pequenos (2 a 5 MB) que controlam nossas ferramentas de design assistido pelo usuário.Naturalmente, esses bancos de dados evoluem com o tempo, à medida que bugs de dados são encontrados e corrigidos e à medida que o esquema muda para suportar novos recursos nas ferramentas.Alguém pode recomendar uma ferramenta de comparação de banco de dados para comparar os dados e o esquema de uma versão do banco de dados para a próxima?Qualquer sugestão será apreciada:gratuito, de código aberto ou comercial.
Solução
Eu uso o Red Gate Sql Compare para comparar esquemas.Ele também possui um recurso interessante que permite salvar um instantâneo do esquema que você pode usar em diferenças posteriores.por exemplo, compare o esquema de hoje com o esquema de um mês atrás.
Outras dicas
Eu uso o ApexSQL Diff.É uma excelente ferramenta para fazer exatamente o que você está descrevendo... comparar esquemas, comparar dados, gerar scripts de alteração.Não é gratuito, mas funciona bem.
OBSERVAÇÃO:ApexSQL Diff funciona apenas com SQL Server.
Na verdade, nunca o compramos porque acabamos usando o SQL Server 2005, mas o DBDiff pareceu funcionar: http://www.dkgas.com/downdbdiff.cgi
Funciona com qualquer banco de dados compatível com ODBC.
eu usei Detetive de acesso total no passado e funcionou.Já faz um tempo, então você pode querer investigar primeiro ...
Se você está procurando uma alternativa gratuita ao SQL Compare mais excelente do Red Gate, você pode querer verificar o SQLDBDigg feito por Ferramentas SQLDB.Foi o que usei até ceder e comprar o SQL Compare.
Não é uma solução perfeita, mas muitas vezes exporto ambos os bancos de dados como arquivos txt/SQL e depois uso um programa diff, como o que vem com TortoiseSVN.Você pode então ver todas as diferenças.Ele não cria automaticamente o SQL para sincronizar o banco de dados.
Características
Alto desempenho, para grandes conjuntos de dados (+10 milhões de linhas).
Sobrecarga de memória muito baixa, mesmo em conjuntos de dados muito grandes.
Alta qualidade - conjunto abrangente de testes de regressão incorporados para o aplicativo/estrutura.
Java roda em qualquer lugar (tm) — Linux, Solaris, OS X, Windows, etc.
Banco de dados cruzado - Oracle, MySQL, DB2 e qualquer fonte de dados JDBC.
Orientado por linha de comando;nenhuma interface gráfica é necessária;pode ser executado em ambientes sem cabeça.
Arquivo de configuração XML orientado.
Software de código aberto gratuito.
Licença Apache, versão 2.0.
O design limpo e orientado a objetos facilita a extensão.
Facilmente incorporável como uma biblioteca Java (jar).