SQL Server e SourceSafe

1

Eu tenho uma configuração de dois servidores SQL (eles são independentes, apenas para desenvolvimento e teste) executando computadores e gostaria de poder usar o código-fonte para que eu possa manter esses dois servidores SQL em sincronia (eles estão em uma LAN). Eu tenho o SQL Server 2008, embora funcione no modo de compatibilidade 2000; e Source Safe 2005.

Eu tenho o código-fonte seguro instalado nos dois computadores e tenho um banco de dados seguro em um dos computadores. No outro computador (aquele que não controla SS) eu tenho um banco de dados SQL que eu preciso colocar na fonte segura. Como eu faço isso? Os botões da barra de ferramentas no SQL Server Management Studio estão lá, mas estão acinzentados, a única coisa que me deixará fazer que tenha a ver com o código-fonte é safe "safe source" e dentro do sourcesafe, não há nada sobre bancos de dados SQL. / p>     

por Earlz 03.08.2009 / 20:34

5 respostas

0

Parece que você não quer apenas controlar o esquema da versão, mas também os dados dentro desse esquema? Por que não script seu banco de dados para o esquema e, em seguida, use o SSIS para extrair seus dados em arquivos CSV. Você pode compactar esses arquivos e, em seguida, armazená-los no seu SCM de escolha.

Eu não recomendaria o Visual Source Safe, pois ele pode corromper muito facilmente o banco de dados de controle de versão. Dê uma olhada no Subversion através do TortoiseSVN for Win32

Desculpe se interpretei mal suas exigências. Mas eu não acho que você vai encontrar uma ferramenta, a versão controla todo o seu db - schema & db.

    
por 04.08.2009 / 01:29
2

No SSMS, a integração do VSS significa a capacidade de verificar um projeto "Scripts do Sql Server", "Scripts do Analysis Services" ou "SQL Server CE Scripts" no VSS. Esses projetos são pouco mais que uma coleção de arquivos de texto - ao contrário de um projeto de aplicativo C #, que é uma coleção de arquivos + um script de construção. Projetos SSMS carecem da parte "build".

Produtos de terceiros, como o SQL Redgate, aproximarão você do que você está descrevendo.

    
por 03.08.2009 / 21:26
1

Acredito que o Visual Studio for Database Developers tenha esse recurso. Há também outros produtos de terceiros que podem sincronizar seus esquemas.

Um banco de dados não é como o código 'normal' que você armazena no controle de origem - para sincronizar os bancos de dados você não apenas substitui linhas de código, você deve gerar instruções ALTER (e outras).

Se você estiver criando um banco de dados do zero a cada vez, poderá usar apenas instruções create, mas manter dois bancos de dados ativos em sincronia requer alguma lógica para sincronizar.

Você também pode gravar o SMO (uma API para gerenciar SQL) para criar um script do banco de dados em um arquivo e adicioná-lo ao controle de origem.

Aqui está um exemplo de uma ferramenta desse tipo.

Usamos o redgate sql compare para essas tarefas.

Veja também: link

    
por 03.08.2009 / 21:04
0

Se você tiver apenas o VS regular, poderá usar o Projeto de banco de dados. Escreva scripts para atualizar o banco de dados e, em seguida, execute-os apenas em cada servidor de banco de dados. Isso é o que eu usei para mover as alterações (bancos de dados de sincronização) entre dev, test e prod porque também não temos edição de banco de dados.

O projeto do banco de dados pode ser verificado no controle de origem.

    
por 03.08.2009 / 21:25
0

Não há integração completa do SQL Server com o controle de origem. A Microsoft tentou fazer isso anos atrás, e ninguém usou isso porque não era tão confiável assim.

A maioria das pessoas simplesmente mantém cada objeto em um arquivo separado e mantém esses arquivos no controle de origem. Em seguida, edite o arquivo e implemente a mudança no banco de dados ao mesmo tempo. Em seguida, marque todos os arquivos que você alterou para o lançamento.

    
por 03.08.2009 / 21:26