Partilhar via


Considerações para preservar dados durante a implantação e atualizações de esquema

Antes de sincronizar dois esquemas, considere configurar as definições do projeto de banco de dados para minimizar a chance de que suas alterações fará com que a perda de dados valiosos.Ao definir essas configurações, você pode bloquear a sincronização se ele contiver alterações que provavelmente remover dados do destino o banco de dados.Para obter mais informações, consulte Como: Perda de dados de controle durante a implantação de bancos de dados existentes e Como: conjunto opções para comparação de esquemas de banco de dados.

Entretanto, essa configuração pode causar resultados não esperado.Em algumas situações, ela impedirá que as alterações que está sendo implantado mesmo que nenhum dado importante seriam perdidos.Em outros casos, a configuração permite que as alterações serem implantados, mesmo que o SQL servidor poderá causar perda de dados quando o destino é atualizado.

Implantação desnecessariamente bloqueada

Se você definir as configurações de projeto para ajudar a evitar a perda de dados, talvez não seja capaz de sincronizar dois esquemas, mesmo que nenhum dado importante seriam perdidos.Por exemplo, você pode excluir uma coluna de dados em um projeto de banco de dados e tenta implantar a alterar para o banco de dados de destino.Mesmo que você excluiu a coluna intencionalmente, implantação será bloqueada para evitar a perda de dados no destino.

sistema autônomo outro exemplo, implantação será bloqueada se um tipo de dados na fonte não pode ser verificado sistema autônomo compatível com o tipo de dados equivalentes no destino.Essa situação pode ocorrer se o fonte ou o destino contém um tipo de dados definido pelo usuário ou um tipo comum de tempo de execução (CLR) do linguagem.Implantação será bloqueada se, por exemplo, um tipo de dados na fonte é definido sistema autônomo char(100) e o tipo de dados no destino é definido sistema autônomo um tipo de dados definidos pelo usuário, sistema autônomo: CREATE TYPE [esquema].[UserDefinedDataType] FROM char(100) NOT NULL.

Se necessário, você poderá temporariamente configurar suas configurações de projeto para permitir sincronização após você inspecionar a implantação ou atualização script e verifique se as alterações não causará a perda de dados valiosos.

Perda de dados durante a implantação desbloqueada

Mesmo se você configurar seu projeto de banco de dados para ajudar a evitar a perda de dados, SQL servidor pode, em alguns casos, causar perda de dados durante sua execução da sincronização.Antes de sincronizar dois esquemas, você deve inspecionar a implantação ou atualizar o script se puder conter o seguinte:

  • Altera para a ordem das colunas de uma tabela.

  • Digite as alterações feitas nos dados de um coluna para um que não é compatível com um tipo de dados existente e que usa os tipos de dados SQL nativo.Essa situação pode ocorrer se uma alterar de tipo de dados resultar em truncamento de dados, sistema autônomo int para bit ou nvarchar(100) para char(10).

  • Altera para uma propriedade de coluna, sistema autônomo a identidade de uma coluna.

  • Alterações sistema autônomo propriedades de uma coluna de identidade em uma tabela, sistema autônomo a semente de identidade.

  • Altera para uma coluna que não permite valores nulo e que não tenha nenhum valor padrão associados, sistema autônomo a alteração de uma coluna para permitir valores nulo.

  • Altera para uma coluna que não permite valores nulo quando a tabela contém colunas adicionais vinculadas à coluna que você está alterando.

  • Adição de uma coluna em que você selecionou o Forçar a ordem de coluna da tabela seja idêntico a caixa de seleção.Para obter mais informações, consulte Opções (ferramentas/esquema de banco de dados comparar).

  • Altera para o grupo de arquivos de uma tabela.

Se o script de implantação ou a atualização contém esses tipos de alterações, você poderá modificá-lo manualmente para preservar os dados.

Consulte também

Tarefas

Como: Perda de dados de controle durante a implantação de bancos de dados existentes

Como: Implantar alterações em bancos de dados novos ou existentes

Como: conjunto opções para comparação de esquemas de banco de dados

Como: Sincronizar esquemas de banco de dados

Conceitos

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