Visual Studio Team System 2008 DataBase Edition Parte
III: Comparação de Dados
No artigo anterior estudamos a ferramenta de comparação de
schemas de banco de dados do Visual Studio Team System DataBase Edition. Neste
artigo vamos ver a ferramenta que comparação de dados que acompanha esta
edição. Antes de começar é importante você ler no artigo “Visual Studio Team
System 2008 DataBase Edition Parte I: Introdução”, algumas consideração sobre
as versões do DataBase Editon.
Muito mais do que comparar dados, a ferramenta é capaz de
gerar os scripts necessários para igualar os dados entre os bancos. Para criar
este tutorial, criei uma segunda instancia do AdventureWorks2008, que nomeei
como AdventureWorks2008II, em seguida fiz uma alteração em uma coluna de um
registro da tabela Person. Address, trocando o número 1970 por 1973.

Com esta pequena diferença entre os dois bancos de dados,
podemos iniciar nossa experiência. Você pode acessar a ferramenta de comparação
de dados através do menu Data, Data Compare, New Data Comparation

Inicialmente você deve informar o banco de dados de origem
(source) e de destino (target). Vamos recordar a função de cada um: qualquer
script de atualização gerado será visando tornar o banco de destino igual ao
banco de origem. Você pode selecionar ou alterar uma conexão existente ou mesmo
criar uma nova conexão. Abaixo temos algumas opções quanto ao tipo de
comparação a ser feita, com descrições bem óbvias. Desmarcar a opção Identical
records traz um resultado de comparação mais limpo, útil quando existirem
muitas diferenças entre os bancos de dados comparados, porém para nosso exemplo
vamos deixar a opção marcada.

Em seguida podemos definir, em nível de coluna, aonde
queremos realizar as comparações. Vamos manter todos os valores marcados:

A partir deste momento o VS inicia a comparação. Lembre-se
que dependendo da dimensão de seu banco de dados, este processo pode levar
horas, ou até dias.
O resultado é apresentado. Note que a tabela Person.Adress
aparece marcada. Selecionando a mesma, podemos ver abaixo o valor da coluna
AdressLine1 no banco de dados de origem, indicado pela seta apontando para a
direita, com o banco de dados de destino, indicado pela seta apontando para a
esquerda.

Vamos agora produzir o script para atualizar o banco de
dados de destino. Clique em Refresh Update Script na barra de ferramentas de
comparação de dados:

O script é gerado na janela Data Update Script, veja abaixo,
no detalhe, o comando Update definido o valor para a coluna AdressLine1:

Agora vamos processar o script no banco de dados alvo.
Clique em Write Updates:

Veja que acima do resultado de comparação é informado que uma
tabela foi atualizada.

Para fazer uma nova comparação e ver se realmente a
diferença foi extinta, clique em refresh na barra de ferramentas de comparação
de dados:

Conclusão
Neste artigo aprendemos a fazer a
comparação de dados utilizando Visual Studio Team System 2008 DataBase Edition
2008. No próximo artigo, vamos aprender a fazer a geração automática de dados.