banco de dados de script sql server 2008

1

Eu tenho um banco de dados em um servidor hosetd sql 2008.

Eu fiz algumas alterações no esquema em desenvolvimento, mas não quero fazer upload disso, pois quero manter os dados que estão no servidor.

Existe um script que eu possa executar para fazer o backup dos dados nas minhas tabelas, de preferência também ter uma maneira de salvar o shema também.

Depois, quero poder fazer o upload das alterações de esquema do dev e restaurar todos os dados do meu backup.

Estou procurando uma maneira gratuita de fazer isso, por isso não posso comprar nenhuma ferramenta.

    
por ddd 26.06.2009 / 18:42

4 respostas

6

Pessoal, o SQL Server 2008 Management Studio faz permitir que você faça o script do esquema E dos dados - é um novo recurso que foi adicionado, mas não é comumente conhecido sobre.

No Assistente de Script, em Opções de Tabela, altere a configuração Dados de Script para Verdadeiro (é Falso por padrão) e ele gerará instruções INSERT T-SQL com todos os dados, bem como o esquema da tabela.

Isso também foi discutido anteriormente no SF na pergunta aqui e eu acabei de postar no blog sobre isso com uma captura de tela - consulte Scripting schema AND dados com SSMS no SQL 2008 .

Espero que isso ajude!

    
por 26.06.2009 / 19:12
0

Supondo que você tenha direitos de proprietário no banco de dados, clique com o botão direito do mouse no nome do banco de dados e selecione "Gerar Scripts" para criar o script. Isso iniciará um assistente que permite selecionar quais objetos você deseja criar e despejar esse script em um arquivo, uma janela de consulta ou na área de transferência.

Não há uma maneira automatizada no Management Studio para despejar todos os dados, mas você não precisa restaurar os dados apenas para fazer alterações de esquema - alterar a definição de uma tabela normalmente não exclui ou altera os dados e nenhum outro objeto toca diretamente nos dados. Gostaria apenas de usar o comando de backup padrão no Management Studio para fazer um backup antes de fazer as alterações em seu servidor de produção.

    
por 26.06.2009 / 18:52
0

"Gerar Scripts" é bom, mas se você quiser "diferenciar" duas versões de um esquema, recomendo o ScriptDB ( link . Ele exibe virtualmente o mesmo script que "Gerar Scripts" (ele usa os objetos de gerenciamento do SQL Server como o estúdio de gerenciamento), mas coloca a saída em diretórios com arquivos neles, bem como a exibição no estúdio de gerenciamento. É muito útil para executar o diff entre versões de um esquema. Eu acho, tentando diferenciar a saída de "Generate Scripts", que algumas vezes grandes blocos de código se movem entre as versões, mas sem mudanças (particularmente quando vem de dois bancos de dados diferentes nos quais desenvolvedores independentes trabalham). / p>     

por 26.06.2009 / 18:57
0

Você já pensou em implementar essas mudanças em um ambiente 'staging' ou 'qa' ao lado do seu ambiente 'dev'?

Faça um backup do seu banco de dados de produção. Restaure-o em um novo banco de dados no mesmo ambiente em que você está hospedando o 'dev'. Isso lhe dará a oportunidade de executar esses scripts de atualização em um espelho dos dados ativos. Então você saberá como seus scripts de alteração são bem-sucedidos.

    
por 26.06.2009 / 18:59