Como: Comparar e sincronizar os dados de dois bancos de dados

Este tópico se aplica a:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual StudioExpress

O tópico é aplicável O tópico é aplicável O tópico não é aplicável O tópico não é aplicável

Usando Visual Studio, você pode comparar os dados que estão contidos em dois bancos de dados. Os bancos de dados que você compare são conhecidos como o fonte e o destino.

ObservaçãoObservação

Projetos de banco de dados e projetos de aplicativos de camada de dados não contêm dados. Portanto, nenhum tipo de projeto pode ser a origem ou destino em uma comparação de dados. Da mesma forma, .dacpac e arquivos de .dbschema também não contêm dados e não podem ser a origem ou destino em uma comparação de dados.

Como os dados são comparados, um Data Manipulation Language o script (DML) é gerado, o que você pode usar para sincronizar os bancos de dados diferentes, atualizando a alguns ou todos os dados no banco de dados de destino. Quando termina a comparação de dados, seus resultados aparecem na janela de comparação de dados de Visual Studio.

Após a conclusão de comparação, você pode seguir outras etapas:

  • Você pode exibir as diferenças entre os dois bancos de dados. Para obter mais informações, consulte Exibir diferenças de dados.

  • Você pode atualizar parte ou todo o destino para coincidir com a fonte. Para obter mais informações, consulte Sincronizando dados do banco de dados.

Para obter mais informações, consulte Comparar e sincronizar os dados em um ou mais tabelas com dados em um banco de dados de referência.

ObservaçãoObservação

Você também pode comparar o esquema de dois bancos de dados ou de duas versões do mesmo banco de dados. Para obter mais informações, consulte Como: Comparar os esquemas de banco de dados.

Comparando o banco de dados

Para comparar os dados usando o Assistente de comparação de dados novo

  1. Sobre o dados , aponte para Data Comparee, em seguida, clique em Comparação de dados novos.

    O Assistente de nova comparação de dados aparece. Além disso, a janela de comparação de dados é aberta, e Visual Studio atribui automaticamente um nome como DataCompare1.

  2. Identifica os bancos de dados de origem e destino.

    Se o Banco de dados de origem lista ou o Banco de dados de destino a lista está vazia, clique em Nova conexão. No Propriedades de conexão caixa de diálogo caixa, identificar o servidor em que o banco de dados reside e o tipo de autenticação para usar ao se conectar ao banco de dados. Em seguida, clique em OK para fechar a Propriedades de conexão caixa de diálogo e retornar ao Assistente de comparação de dados.

    Na primeira página do Assistente de comparação de dados, verifique se as informações para cada banco de dados estão corretas, especificar quais registros que você deseja incluir nos resultados e, em seguida, clique em próximo. A segunda página do Assistente de comparação de dados aparece e mostra uma listagem hierárquica das tabelas e modos de exibição no banco de dados.

  3. Marque as caixas de seleção para as tabelas e modos de exibição que você deseja comparar. Opcionalmente, expanda os nós para objetos de banco de dados e, em seguida, selecione as caixas de seleção para colunas nesses objetos que você deseja comparar.

    ObservaçãoObservação

    Tabelas e modos de exibição devem atender a dois critérios para aparecer na lista. Primeiro, os esquemas de objetos devem corresponder entre os bancos de dados de origem e destino. Segundo, somente a tabelas e modos que possuem uma chave primária, uma chave exclusiva ou um índice que aparecem na lista. Se não há tabelas ou visualizações atendem a ambos os critérios, a lista estará vazia.

  4. Se houver mais de uma chave, você pode usar o Chave de comparação coluna para especificar a chave no qual basear a comparação de dados. Por exemplo, você pode especificar se deseja basear a comparação na coluna de chave primária ou em outra coluna de chave (exclusivamente identificável).

  5. Clique em Finish.

    A comparação é iniciado.

    ObservaçãoObservação

    Você pode interromper uma operação de comparação de dados está em andamento, abrindo o dados menu, clique em Data Comparee em seguida, clicando em Interromper a comparação de dados.

    Quando a comparação é concluída, você pode exibir as diferenças de dados entre dois bancos de dados. Você também pode atualizar parte ou todos os dados no banco de dados de destino para coincidir com os dados no banco de dados de origem.

Para comparar os dados usando o modelo de automação de Visual Studio

  1. Abrir o Exibir , aponte para Other Windowse clique em A janela de comando.

  2. Na janela de comando, digite o seguinte comando:

    Data.NewDataComparison /SrcServerName sServerName /SrcDatabaseName sDatabaseName /SrcUserName sUserName /SrcPassword sPassword /SrcDisplayName sDisplayName /TargetServerName tServerName /TargetDatabaseName tDatabaseName /TargeUserName tUserName /TargetPassword tPassword /TargetDisplayName tDisplayName
    

    Substitua os espaços reservados (sServerName, sDatabaseName, sUserName, sPassword, sDisplayName, tServerName, tDatabaseName, tUserName, tPassword, e tDisplayName) com os valores de seus bancos de dados de origem e destino.

    Se você não especificar uma origem e um destino, o Nova comparação de dados caixa de diálogo aparece. Para obter mais informações sobre os parâmetros para o comando Data.NewDataComparison, consulte Referência de comando de automação para recursos de banco de dados de Visual Studio.

    Em comparação com os dados de origem especificada e bancos de dados de destino. Os resultados aparecem em uma sessão de comparação de dados. Para obter mais informações sobre como exibir os resultados ou sincronizar os dados, consulte Exibir diferenças de dados e Sincronizando dados do banco de dados.

Exibir diferenças de dados

Após você comparar os dados em dois bancos de dados, Data Compare lista cada o objeto de banco de dados que você comparados e seu status. Você também pode exibir os resultados para os registros dentro de cada objeto, agrupados por status. Para obter mais informações sobre as designações de status, consulte Comparar e sincronizar os dados em um ou mais tabelas com dados em um banco de dados de referência.

Após visualizar as diferenças, você pode atualizar o destino para coincidir com a fonte para alguns ou todos os objetos ou registros que estão faltando, novo ou diferente. Para obter mais informações, consulte Sincronizando dados do banco de dados.

Para exibir diferenças de dados

  1. Compare os dados de uma fonte e um banco de dados de destino. Para obter mais informações, consulte Comparar banco de dados.

  2. (Opcional) Siga um destes procedimentos ou ambos:

    • Por padrão, os resultados para todos os objetos aparecem, independentemente de seu status. Para exibir somente aqueles objetos que tenham determinado status, clique em uma opção de filtro lista.

    • Para exibir os resultados para os registros dentro de um objeto específico, clique no objeto no painel de resultados principais e, em seguida, clique em uma guia no painel de exibição de registros. Cada guia exibe todos os registros dentro desse objeto com um determinado status: diferentes apenas na origem, somente no destino e idênticas. Dados exibidos pelo registro e de coluna.

Sincronizando o banco de dados

Após você comparar os dados em dois bancos de dados, você pode sincronizá-las atualizando todo ou parte do destino para coincidir com a fonte. Você pode comparar os dados em dois tipos de objetos de banco de dados: as tabelas e modos de exibição.

Para atualizar os dados de destino usando o comando gravar atualizações.

  1. Compare os dados de uma fonte e um banco de dados de destino. Para obter mais informações, consulte Comparar banco de dados.

    Após a conclusão de comparação, a janela Data Compare lista os resultados para os objetos que foram comparados. Quatro colunas (chamadas de registros diferentes, apenas na origem, somente no destino e registros idênticos) exibem informações sobre objetos que não eram idênticas. Para cada objeto tal essas colunas exibem quantos registros foram encontrados diferentes e quantos registros de uma atualização alteraria a operação. Esses dois números correspondem em primeiro lugar, mas na etapa 4, que você pode alterar quais objetos para atualizar.

    Para obter mais informações, consulte Comparar e sincronizar os dados em um ou mais tabelas com dados em um banco de dados de referência.

  2. Na tabela da janela de comparação de dados, clique em uma linha.

    O painel de detalhes mostra os resultados para os registros no objeto de banco de dados que você clicou. Registros são agrupados por status em guias, que pode ser usada para especificar os dados que serão propagados da origem ao destino.

  3. No painel de detalhes, clique em uma guia cujo nome contém um número diferente de zero (0).

    O atualização coluna da somente no destino tabela contém caixas de seleção, você pode usar para selecionar linhas a serem atualizadas. Por padrão, cada caixa de seleção está selecionada.

  4. Desmarque as caixas de seleção para os registros no destino que não deseja atualizar com dados de origem.

    Quando você desmarca a caixa de seleção, você pode reduzir o número de registros para atualizar e a exibição é alterada para refletir suas ações. Esse número aparece na linha de status do painel de detalhes e na coluna correspondente no painel de resultados principais, conforme descrito na etapa 1.

  5. (Opcional) Clique em Exportar para o Editor de.

    A Transact-SQL janela do editor é aberta e mostra a Data Manipulation Language script (DML) que seria usado para atualizar o destino.

  6. Para sincronizar os registros que estão faltando, novo ou diferente, clique em Atualizações de gravação.

    ObservaçãoObservação

    Enquanto o banco de dados de destino está sendo atualizado, você pode cancelar a operação clicando em Parar a gravação destino.

    Os dados dos registros selecionados no destino são atualizados com os dados dos registros na fonte correspondentes.

    ObservaçãoObservação

    Se você optar por atualizar modos de exibição indexados, a Escrever atualiza operação pode falhar se essa ação faz com que as chaves duplicadas a ser inserido na mesma tabela.

Para atualizar os dados de destino usando um script Transact-SQL

  1. Compare os dados de uma fonte e um banco de dados de destino. Para obter mais informações, consulte Comparar banco de dados.

    Após a conclusão de comparação, a janela Data Compare lista os objetos que foram comparados. Para obter mais informações, consulte Comparar e sincronizar os dados em um ou mais tabelas com dados em um banco de dados de referência.

  2. (Opcional) No painel de detalhes, desmarque as caixas de seleção para os registros no destino que você deseja atualizar, conforme descrito no procedimento anterior.

  3. Clique em Exportar para o Editor de.

    Uma nova janela mostra a Transact-SQL script que propagará as alterações necessárias para tornar os dados a correspondência de destino, os dados de origem. A nova janela recebe um nome como Server.Database - DataUpdate_Database _1.sql.

    Esse script reflete as alterações feitas no painel de detalhes. Por exemplo, talvez você tenha desmarcado a caixa de seleção para uma determinada linha em apenas na página de destino para o [dbo].Tabela de [transportadoras]. Nesse caso, o script não atualizaria essa linha.

  4. (Opcional) Editar este script de Server.Database - DataUpdate_Database _1.sql janela.

  5. (Opcional mas recomendado) Fazer backup do banco de dados de destino.

  6. Clique em SQL executar ou pressione F5 para atualizar o banco de dados de destino.

    Especifica uma conexão ao banco de dados de destino que você deseja atualizar.

    Observação importanteImportante

    Por padrão, as atualizações ocorrem dentro do escopo de uma transação. Se ocorrerem erros, você pode reverter a atualização de toda. Você pode alterar esse comportamento. Para obter mais informações, consulte Como: Definir opções para comparar o banco de dados.

    Os dados dos registros selecionados no destino são atualizados com os dados dos registros na fonte correspondentes.

Consulte também

Tarefas

Como: Comparar os esquemas de banco de dados

Conceitos

Comparar e sincronizar os dados em um ou mais tabelas com dados em um banco de dados de referência