Nos artigos anteriores vimos o SQL Prompt que permite aquelas funcionalidades de autocompletar, snippets e formatação de script. Também vimos o SQL Compare, que permite comparar a estrutura de dois bancos de dados. Agora veremos o SQL Data Compare, que permite a comparação dos dados de dois bancos de dados.
Esta ferramenta é bem semelhante ao SQL Compare, as vezes até me confundia qual ferramenta eu estava utilizando:
Na aba tables & views, é possível definir as tabelas ou views a serem comparadas, as chaves primárias ou unicas utilizadas para as comparações (ou até mesmo definir critérios customizados para comparação sem chaves), filtrar quais registros serão comparados por uma clasula WHERE, o até mesmo dizer quais as colunas a serem comparadas:
Nas abas Object Mapping e Owner Mapping, você pode definir quais tabelas/schemas serão comparados com quais outras tabelas/schemas:
E por último, definir alguns critérios mais específicos para comparação, como considerar collation e acentos:
Em seguida, prosseguir com o “Compare Now”:
Dependendo da quantidade de registros, é interessante salvar o projeto para que se der algum problema seja possível executar novamente a comparação sem configurar o SQL Data Compare. Também é altamente recomendável definir filtros para a comparação das tabelas (Clausula WHERE da aba Table & Views) e ter memória RAM disponível.
Como resultado da comparação, é possível verificar quais registros somente existem em um dos bancos de dados, quais são idênticos e quais são diferentes. Também informar quais os registros que serão sincronizados:
Lembrando que, no script para sincronização, os registros que estão diferentes serão atualizados segundo o Source, assim os registros que só existe no Target serão excluídos (se não desmarcados) e os registros que só existem Source serão inseridos no Target.
Utilizando o Synchronization Wizard (ferramenta semelhante à que temos no SQL Compare), poderemos gerar o script para sincronização do banco de dados Target com os dados do Source, de forma bem simples:
Com esta ferramenta, terminamos o Overview sobre as ferramentas que considero essenciais do Red Gate para o dia-a-dia dos desenvolvedores e DBAs que trabalham com SQL Server.
Atenção, desenvolvedores:
Uma solução mais simples para quem já possui o Visual Studio 2008 Team System ou o Visual Studio 2010 Premium ou Ultimate, é optar pela ferramenta Data Compare do Visual Studio:
https://sqlfromhell.wordpress.com/2011/01/27/visual-studio-2010-data-compare/
Mais informações:
http://www.red-gate.com/products/sql-development/sql-data-compare