Como copio um banco de dados do SQL Server 2005?

5

No meu ambiente eu preciso copiar um banco de dados de um servidor para outro. Geralmente uma máquina de controle de qualidade para minha caixa local.

Eu não tenho acesso à máquina de controle de qualidade. Eu posso conectar ao banco de dados, mas não RDP na caixa.

Qual é a melhor maneira de copiar o banco de dados do servidor de controle de qualidade para minha máquina?

    
por David Basarab 01.05.2009 / 19:58

8 respostas

7

Eu tentaria o comando Copiar o banco de dados disponível por meio do Gerenciamento de SQL Estúdio. Isso pode ser feito sem acesso ao RDP.

A Microsoft também tem uma página do MSDN em cópia de dados entre servidores pode ser útil.

    
por 01.05.2009 / 20:35
4

Se você tiver acesso a um compartilhamento de arquivos ou administrativo (por exemplo, c $) na caixa do SQL Server, poderá executar o backup usando o SQL Server Management Studio na unidade do servidor e copiá-lo para a sua máquina local.

Sql Server Management Studio (o exemplo é do SSMS 2008, deve ser semelhante a 2005):

  • Faça login no servidor de banco de dados
  • Clique com o botão direito do mouse no banco de dados que você deseja fazer backup - > Tarefas - > Backup
  • No grupo "Destino", selecione "Backup para: disco"
  • Clique em "Adicionar ..."
  • Especifique onde você deseja o backup e qual será o nome do arquivo (arquivo .bak) em 'Nome do arquivo:'
  • Clique em "Ok"
  • Clique em "Ok"

Quando isso for concluído, copie o arquivo para sua máquina local.

Há também um assistente de Importação / Exportação que vem com o SSMS 2008 que pode fazer uma cópia direta de um banco de dados para outro (ou seja, controle de qualidade para local), mas eu não usei muito porque eu sempre tive acesso aos servidores de banco de dados.

    
por 01.05.2009 / 20:22
1

A maneira mais fácil, e talvez mais segura nessa situação, é fazer o backup do banco de dados e restaurar o arquivo .bak na sua máquina.

Isso é o que eu costumo fazer especialmente quando estou escrevendo Stored Procs para, digamos, relatório do SSRS ou simplesmente testando ou simplesmente aplicando alguma coisa. E, claro, sempre me certifico de que estou SOMENTE conectado ao meu exemplo de desenvolvedor. Eu não quero mexer com o live db. Então, eu costumo fazer um backup para um determinado banco de dados à meia-noite, SFTP para minha máquina e fazer uma restauração rápida. Quando tudo é testado e tudo está funcionando bem no dev, então é hora de rodar o script / s na instância live e no db; -)

    
por 01.05.2009 / 21:18
1

Se você conseguir se conectar ao banco de dados de origem, mas não ao RDP, na máquina em que está sendo executado, poderá usar o Assistente de Publicação de Base de Dados da Microsoft .
Esta é uma ferramenta gratuita do MS que cria um script SQL do banco de dados completo para você.
Você pode então executar o script em sua máquina.

    
por 04.05.2009 / 00:06
0

Eu usei o powershell antes para criar o backup e copiá-lo automaticamente para a minha unidade local.

Você provavelmente pode fazer backups do Google powershell sql, mas aqui estão alguns links para você começar:

Diário de banco de dados

Scripts do banco de dados do Powershell

    
por 01.05.2009 / 20:11
0

Você pode fazer isso apenas copiando os arquivos no diretório / data da sua instalação?

    
por 01.05.2009 / 23:01
0

Eu sigo a idéia de "backup", no entanto, eu não tomaria um novo backup para isso. Obtenha o backup da última noite. Você não apenas economizará o tempo de backup extra, mas também será um teste do backup da noite anterior. Se este for um requisito regular, é razoável pedir aos DBAs que deixem uma cópia do backup em algum lugar que você possa obter.

    
por 01.05.2009 / 23:50
0

Se o seu banco de dados é relativamente pequeno, você pode gerar scripts de criação a partir do estúdio de gerenciamento para executar no servidor SQL de destino. Eles podem ficar muito grandes quando você está gerando scripts de dados, mas funciona.

Clique com o botão direito do mouse no banco de dados e selecione Tarefas e Gerar scripts ...

Selecione seu banco de dados e clique na caixa na parte inferior rotulada como 'Rotular todos os objetos no banco de dados selecionado'

Esta é a parte mais importante, leia atentamente as opções , Certifique-se de incluir dados (falsos por padrão), gatilhos, etc. Se você tiver um banco de dados complicado, o script erro quando executado. Para a maioria dos esquemas comuns de banco de dados, esse não é o caso.

Eu uso esse método frequentemente com hosts da web que não abrem portas SQL para o mundo externo. É apenas texto e fácil de lidar com

Cópia feliz.

Brett

    
por 03.05.2009 / 01:44