Pergunta

Eu tenho (2000) dois bancos de dados SQL Server. Ambos são usados ??para o mesmo projeto, mas versões diferentes. Basicamente, o banco de dados antigo é do nosso ambiente de teste. O novo banco de dados é a partir do ambiente de desenvolvimento. Temos também uma aceitação, produção e manutenção de ambiente e todos eles contêm o mesmo projeto. (É nossa rua desenvolvimento, movendo-se versões de D a T de A a P e, finalmente, M).

Agora, a estrutura do banco de desenvolvimento mudou. Algumas mesas foram adicionados, os índices são adicionados ou removidos, campos mudaram no tipo e campos anuláveis ??tornaram-se não-nulo, coisas assim. O banco de dados de teste precisa ser atualizado com a nova estrutura, mas sem qualquer perda de dados. Agora, eu estou fazendo isso com um monte de trabalho manual. Eu mantenho uma lista de mudanças estruturais e uma vez que tudo estiver pronto, eu escrevo um script de atualização para corrigir o banco de dados de teste de idade.

Mas como engenheiro de software, estou apenas preguiçoso por design. Assim, há alguns em algum lugar ferramenta fácil que irá comparar as duas estruturas de banco de dados e gerar um script de atualização por si só?

(Apenas para mudar a estrutura, btw. Manipulação Não existem dados!)

Foi útil?

Solução

Dê uma olhada SQL da Red Gate Compare ..um completa mais seguro ao vivo

Outras dicas

Sim, o melhor na minha opinião é por Red Gate

O Toolbelt SQL que eles oferecem é muito boa, que inclui um conjunto de ferramentas, ou você pode simplesmente pegar SQL Compare, por si própria. Não é grátis (exceto para julgamento 14 dias eu acho), mas vale bem o dinheiro

No trabalho nós usamos algumas ferramentas; AdeptSql Diff e estávamos testando Redgate-algo-algo. AdeptSql foi significativamente mais barato do que Redgate, e enquanto Redgate tinha um monte de sinos muito agradáveis ??e assobios, uma vez que já possuía Adept, decidimos ficar com ele.

http://www.adeptsql.com/

Eu sinto muito que eu não conheço nenhum ferramentas gratuitas improvisadas; Eu sei que Redgate, pelo menos, tem um período de teste.

Eu usei uma ferramenta *nix de linha de comando chamado sqlt-diff que usa Perl SQL :: Translater (SQLFairy) para gerar diffs entre esquemas de banco de dados SQL.

https://metacpan.org/pod/distribution/SQL- tradutor / script / sqlt-diff

Esta é uma ferramenta open-source livre. Eu manualmente se editar os diffs gerados para personalizá-los ligeiramente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top