Como gero scripts que reconstruirão meu banco de dados MS SQL Server 2005 com dados?

StackOverflow https://stackoverflow.com/questions/18199

  •  09-06-2019
  •  | 
  •  

Pergunta

Tenho um banco de dados SQL Server 2005 que gostaria de poder recriar a qualquer momento.Quero poder apontar para meu banco de dados e gerar um conjunto completo de scripts que não apenas criará todos os tabelas/visualizações/sprocs/funções que estão no banco de dados, mas também preencherá todas as tabelas com dados.

Existem ferramentas que fazem isso?Existe alguma ferramenta de código aberto ou gratuita que faça isso?

Foi útil?

Solução

O Assistente de publicação de banco de dados é uma ótima ferramenta para isso.É OSS e gratuito, o que é difícil de vencer.

Outras dicas

O que sempre faço é deixar o MS SQL Management Studio criar o script para reconstruir o banco de dados e tabelas vazias.Depois utilizo outro script para gerar um arquivo em lote ms-dos para exportar/importar os dados via "bcp".Veja sql abaixo.

/* this is used to export */
use databaseXXX
select ('bcp databaseXXX..' + name + ' OUT ' + name + ' /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp 
from 
  sysobjects 
where 
  type = 'U' 
order by 
  [name]


/* this is used to import */
use databaseXXX
select ('bcp databaseXXX..' + name + ' IN ' + name + ' /E /eErrors.txt /b100 /n /Usa /Ppwd /Sserver') as bcp 
from 
  sysobjects 
where 
  type = 'U' 
order by 
  [name]

Funciona para mim sempre e é rápido.Se você salvar o script de geração de tabela em um arquivo, poderá colocá-lo também em um arquivo em lote por meio do comando sqlcmd.

Confira a seguir um procedimento que irá criar um script que irá gerar uma tabela e todos os seus dados.Você poderia encerrar isso em outro processo armazenado que iterasse todas as tabelas e gerasse um único script grande que regeneraria tudo do zero.

http://anastasiosyal.com/archive/2007/04/25/5.aspx

Editar:Parece que Will encontrou uma solução ainda melhor +1 para Will

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