Partilhar via


Visão geral de comparação de esquemas de banco de dados

Você pode usar Visual Studio Team System Database Edition para comparar o esquemas de dois bancos de dados e, em seguida, decida se deseja aplicar alguns ou todos os objetos de esquema do fonte to the destino.Para um exemplo cenário, consulte Why Compare Database Schemas?

Você pode comparar os esquemas das seguintes opções:

  • dois bancos de dados, que inclui duas versões do mesmo banco de dados

  • a Visual Studio projeto de banco de dados e um banco de dados

Quando você configura comparar, você usar o Comparação de esquema caixa de diálogo para designar fonte e destino.Para obter mais informações, consulte Como: Comparar os esquemas de dois bancos de dados.

Após a conclusão da comparação de esquema, ele exibe os resultados de comparação para exibição.Para obter mais informações, consulte Como: Diferenças do modo de exibição esquema.Em seguida, você pode propagar elementos do esquema da fonte para o destino.Para obter mais informações, consulte Como: Sincronizar esquemas de banco de dados.

Por que comparar os esquemas de banco de dados?

O texto seguinte ilustra um cenário em que seria você deseja comparar esquemas de bancos de dados.Nesse caso, você pode comparar um banco de dados e um projeto de banco de dados, instead of dois bancos de dados.

Equipe de desenvolvimento de banco de dados

Você é um desenvolvedor de banco de dados que esteja usando um Database Edition projeto para ajudá-lo a criar um banco de dados do banco de dados. Com o passar do time, sua equipe cria versões sucessivas do banco de dados e implanta-os a servidores de teste.Outros membros da equipe também contribuem para o design do banco de dados.

Apenas você tiver terminado de fazer uma rodada de alterações para o esquema de banco de dados e testadas as alterações em seu próprio computador.Como encontrado sem erros, você agora deseja publicar as atualizações em um servidor de teste para que a equipe de controle de qualidade da sua equipe pode testá-las.

Você em aberto seu projeto de banco de dados e, usando o Novo esquema comparação caixa de diálogo, você estabelecer uma conexão com o servidor de teste.Você comparar seu projeto (fonte) para o banco de dados (o destino) implantado e determinar que muitos objetos diferem entre duas entidades.Mas você também verá que a maioria das diferenças são objetos pelos quais você não é responsável.Outros pessoas fez estas alterações, e deseja substituí-los.

Agora, você selecionar apenas os objetos que você trabalhou em e clicar Atualizações de gravar.Essa ação atualiza a parte do banco de dados e deixa o Outros peças sistema autônomo estavam.Seu trabalho agora é implantado e pronto para ser testado.

A seção a seguir descreve como Team Edition for Database Professionals mostra quais objetos foram alterados de esquema e ajuda a decidir quais ações deverão ser tomadas.

Controlando a comparação de esquema

Você pode especificar as opções que controlam o processo de comparação de esquema e o processo de geração de script em dois níveis.Para conjunto globalmente opções, abra o Ferramentas menu, clicar Opções, expandir Ferramentas de banco de dadose, em seguida, clicar Esquema comparar.Opções que você conjunto globalmente afetam todas as operações subseqüentes de comparação de esquema a menos que você substitua para uma comparação específica.

Esquema Comparar exibições

Depois que você comparar dois esquemas, a Comparação de esquema janela exibe resultados em uma grade.A janela também exibe informações sobre objetos em bancos de dados, incluindo o script para sincronizá-las.

  • Understanding Schema Compare Results

  • Viewing Object Definitions

  • Previewing the Update Script

Noções básicas sobre esquema comparar resultados

The Esquema comparar janela ocupa a área de edição principal de Visual Studio. A janela exibe todos os objetos em ambos os esquemas, organizadas em pastas expansíveis.Esses objetos incluem tabelas, modos de exibição, procedimentos armazenados, funções, tipos definidos pelo usuário, regras, padrões, catálogos de texto completo, os usuários e funções.

Nessa janela, as colunas exibem as seguintes informações sobre cada objeto:

  • A primeira coluna de status, mostra o estado de comparação de objetos em comparação com:

    • Igual a.Os objetos de fonte e destino são estruturalmente iguais.

    • Diferentes.Os objetos de fonte e destino são estruturalmente diferentes.

    • Faltando.O objeto existe no destino, mas não na fonte.

    • Novo.O objeto existe na fonte, mas não no destino.

    Observação:

    Objetos são considerados ser igual ou diferente no contexto de quaisquer opções de comparação de esquema que você definiu.Para obter mais informações, consulte Controlling Schema Comparison.

  • A segunda coluna lista os nomes dos objetos de esquema na fonte, organizados hierarquicamente pelo tipo de objeto.Nesta coluna, você pode expandir e recolher nós para mostrar apenas os tipos de objeto que você deseja ver.

  • A terceira coluna de ação de atualização, mostra a ação que, de um determinado objeto seria sincronizar a estrutura desse objeto entre os dois esquemas.(Alterações são gravadas somente para o destino). Os valores na coluna ação atualização correspondem aos valores na coluna Status.Para cada objeto, você pode escolher a ação de ignorar, o que deixa o objeto no destino antes da comparação.Talvez não seja capaz de ignorar uma atualização se a caixa de seleção incluir dependências é selecionada.(Para verificar o status dessa caixa de seleção, abra o Ferramentas menu e clicar Opções.) Por exemplo, se o banco de dados de fonte continha uma nova tabela com índices, chaves e disparadores, se você adicionar os índices, chaves e disparadores, não é possível ignorar a tabela.

    Observação:

    Na verdade, alterando os valores na coluna ação Update altera o script de atualização que será executado.Em outras palavras, ele altera os resultados que aparecem quando você clica em Atualizações de gravar.Para obter mais informações, consulte Como: Sincronizar esquemas de banco de dados.

    A tabela a seguir resume estas ações:

Status de comparação

Ações de atualização disponível (o padrão é exibido em negrito.)

Descrição da ação padrão

Igual a

Skip

Ignorar, a ação padrão para objetos que são iguais, deixa o objeto inalterado.

Diferentes

Atualização, Ignorar

Atualização, a ação padrão para objetos que não são iguais, altera a estrutura do objeto no banco de dados de destino.Por exemplo, a ação de atualização pode adicionar, excluir ou renomear uma coluna em uma tabela.

Ausente

Soltar, Ignorar

Soltar, a ação padrão para objetos que não existem no banco de dados de fonte, exclui o objeto no banco de dados de destino.

Novo

Criar, Ignorar

Criar, a ação padrão para objetos que não existem no banco de dados de destino, cria o objeto no banco de dados de destino.

  • A quarta coluna lista os nomes de objetos de esquema no destino.

Exibindo definições de objeto

Você também pode exibir a definição de SQL de cada objeto de banco de dados que está listado no Comparação de esquema janela.Quando você clicar linha do objeto na janela do documento principal, sua definição é exibida no painel de definições de objeto, que é somente leitura.Lado esquerdo do painel de definições de objeto exibe a definição de um objeto selecionado na fonte e o lado direito exibe a definição de um objeto selecionado no destino.Você pode rolar por ambas as definições simultaneamente usando a BAR de rolagem em ambos os lados.Linhas que diferem entre as definições de objeto de fonte e destino são realçadas.

Definições de objetos refletem o status do objeto no momento em que você executou a comparação.They do not change when you change values in the Update Actioncolumn or if the object undergoes changes outside this schema-comparison session.

Visualizando o script de atualização

Comparação de esquemas também automaticamente gera um script de sincronização e o exibe na janela script de atualização do esquema.Este Linguagem de definição de dados (DDL) script seria usado para atualização o destino.O script contém apenas os objetos cujo estado de comparação é atualização, DROP ou criar.Itens a ser ignorados não aparecem na janela script de atualização do esquema.

Quando você altera os valores na coluna ação de atualização, a janela de script de atualização de esquema reflete as alterações.

Observação:

Pode demorar alguns segundos para atualizar o Sumário do painel de visualização de script, dependendo da extensão da suas alterações na coluna ação de atualização.

Embora você possa alterar o script DDL, alterando as ações de atualização, você não pode edição o script diretamente na janela porque o painel de visualização de script é somente leitura.Se você desejar edição o script de atualização, clicar Exportar para o Editor e modifique o script de atualização no editor de Transact-SQL (T-SQL).

Atualizar resultados de comparação

Você pode atualização da exibição de diferenças entre o esquema de fonte e destino.Após você ter comparado fonte e destino uma vez, convém atualizar o modo de exibição se um ou ambos os esquemas forem alterados.Também convém atualizar os resultados se você alterar as opções de comparação de esquema.Quando você clicar Atualizar, as informações de configuração indicados anteriormente é reutilizado para gerar novos dados de comparação.

Objetos de banco de dados podem foram adicionados ao ou excluídos da fonte desde a comparação de esquema mais recente.Nesse caso, quando você clica em Atualizar, Comparar esquema tenta incluir novos objetos e excluir objetos excluídos da comparação nova, conforme apropriado.No entanto, se você tiver alterado a configuração de ação de atualização de um determinado objeto, essa configuração é preservada independentemente das alterações que ocorreram desde a comparação de esquema mais recente para o objeto.

Propagando esquemas de banco de dados com segurança

Propagar esquemas de bancos de dados pode causar perda de dados.Evitá-lo, você deve prestar muita atenção aos nomes de objetos em sua fonte e de destino, especialmente antes você atualizar o esquema no destino.

Por exemplo, o destino contém uma tabela chamada Detalhes_Pedido.No banco de dados de fonte, você renomeou-detalhes do pedido, sem sublinhado.Em seguida, comparar os dois bancos de dados.Antes de propagar o esquema da fonte ao destino, os dados em ambas as tabelas são idênticos.Mas quando você gravar as atualizações de esquema ao destino, a tabela Detalhes_Pedido é excluída e uma nova tabela Order Details é criada.Você pode perder todos os dados na tabela Detalhes_Pedido.

Você pode em em aberto o Ferramentas menu, clicar Opçõese selecionar o Bloquear as atualizações de esquema se pode ocorrer perda de dados caixa de seleção para evitar a perda de dados.Além disso, você sempre deve fazer backup do banco de dados antes de implantar as alterações no banco de dados.

Consulte também

Tarefas

Como: Comparar os esquemas de dois bancos de dados

Conceitos

Visão geral da terminologia do banco de dados edição

Outros recursos

Visão geral de comparação de dados do banco de dados