ti-enxame.com

Como faço para copiar um banco de dados do SQL Server 2005?

No meu ambiente, preciso copiar um banco de dados de um servidor para outro. Geralmente uma máquina de QA para a minha caixa local.

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

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

5
David Basarab

Eu tentaria o comando assistente de banco de dados de cópia comando disponível através do SQL Management Studio. Isso pode ser feito sem acesso ao RDP.

A Microsoft também possui uma página MSDN ON Copiando dados entre servidores que pode ser útil.

7
berberich

Se você tiver acesso a um fileshare ou fileshare administrativo (i.e. C $) na caixa SQL Server, você pode executar o backup usando o SQL Server Management Studio para a unidade de servidor e copiá-lo para a sua máquina local.

O SQL Server Management Studio (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 'Destination', selecione 'backup para: disco'
  • Clique em 'Adicionar ...'
  • Especifique onde você deseja o backup e qual o nome do arquivo será (arquivo .bak) sob o 'nome do arquivo:'
  • Clique OK'
  • Clique OK'

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

Há também um assistente de importação/exportação que vem com o SSMS 2008 que pode ser capaz de fazer uma cópia direta de um banco de dados para outro (ou seja, QA para local), mas eu não usei muito porque sempre tive acesso ao Servidores DB.

4
Bryan Rehbein

Se você puder se conectar ao banco de dados de origem, mas não o RDP para a máquina está sendo executado, você poderá usar o assistente Microsoft Database Publishing .
Esta é uma ferramenta gratuita do MS que cria um script SQL do banco de dados completo para você.
[.____] Você pode executar o script na sua máquina.

1
Christian Specht

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

Isto é o que eu costumo fazer especialmente quando estou escrevendo procts armazenados para, digamos, relatório de SSRs ou simplesmente testando ou claramente se encaixando em algo. E, claro, sempre me certifico de que estou conectado apenas à minha instância de Dev. Eu não quero mexer com o db ao vivo. Então, eu costumo fazer um backup para um determinado db à meia-noite, sftp na minha máquina e fazer uma rápida restauração. Quando tudo é testado e tudo está funcionando bem no dev, então esse é o tempo que executo o script/s na instância ao vivo e db ;-)

1
MarlonRibunal

Se o seu banco de dados for relativamente pequeno, você poderá gerar scripts criados do Gerenciamento do Gerenciamento para executar no servidor SQL de destino. Estes podem ficar bem grandes quando você está com os dados de script, mas funciona.

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

Selecione seu banco de dados e clique na caixa para a parte inferior "script de script todos os objetos no banco de dados selecionado"

Esta é a parte mais importante, lida através das opções cuidadosamente, certifique-se de incluir dados (false por padrão), gatilhos etc. Se você tiver um banco de dados complicado, poderá encontrar o erro do script quando executado . Para os esquemas de banco de dados mais comuns, este não é o caso.

Eu uso este método muitas vezes com hosts da Web que não abrem portas SQL para o mundo exterior. Apenas texto, e fácil de lidar com

Cópia feliz.

Brett.

0
Brettski

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

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

Database Journal

Scripts do banco de dados do PowerShell

0
jdiaz

Você pode realizar isso apenas copiando os arquivos no diretório de sua instalação/dados?

0
Brian