Copiando o banco de dados SQL Server de 500 GB da instância Production para Dev

12

Precisamos copiar o banco de dados de 500 GB do nosso servidor PRODUCTION para um servidor DEV. Temos apenas uma janela de 5 horas.

Qual seria a maneira mais rápida de conseguir isso?


fonte
7
1. O que você quer dizer com "uma janela de 5 horas"? A produção será reduzida por 5 horas? 2. Você precisa da versão mais recente absoluta do banco de dados de produção ou será suficiente um backup recente? 3. Em que modo de recuperação está seu banco de dados de produção?
22411 Nick Chammas

Respostas:

15

Existem duas opções que você pode fazer que não causarão tempo de inatividade no ambiente de produção:

1) Se você quiser apenas capturar a estrutura do banco de dados (não precisa dos dados), basta criar um script no banco de dados de produção. Em seguida, execute-o no seu servidor dev para criar o banco de dados.

2) Se você precisar do banco de dados e dos dados, simplesmente pegue o backup mais recente desse banco de dados e restaure-o no seu servidor de desenvolvimento. Você descobrirá que esse é o método mais comum usado para manter os servidores de desenvolvimento compatíveis com os dados de produção.


fonte
9

Se você tem

  • compressão de backup ativada?
  • uma rede servidor-servidor rápida (o ponto de entrada é 1 GB)

... então copie e restaure. Isso pode ser script em powershell, perl, cmd.exe etc.

Quando você diz "janela", presumo que você queira dizer 5 horas de janela de produção. Não pode ser tão crítico carregar o desenvolvimento.

gbn
fonte
5

Copie para o disco rígido conectado localmente.

Por que apenas uma janela limitada? Não copie - carregue o backup no dev.

TomTom
fonte
Acordado. Não é necessário desanexar (necessitando de um tempo de inatividade), na verdade, ao restaurar um backup será suficiente.
p.campbell
2
Vou testar a cópia de um backup. Não há necessidade de derrubar seu banco de dados de produção para copiá-lo em qualquer lugar. Se você precisar de um momento específico, faça um backup copy_only (SQL 2005+) ou copie alguns backups de log de log também.
Ben Thul
2

Talvez minha resposta não se encaixe no seu caso de uso, mas você já pensou em configurar, no servidor de desenvolvimento, um banco de dados em espera usando uma técnica como envio de logs .... para que você possa restaurar seu produto no desenvolvimento anterior e mantenha esta cópia sincronizada com o seu produto ...

Espero que esta ajuda

Darkwookiee
fonte
0

Crie um arquivo de sequência de backup. Digamos que seu tamanho de backup inteiro seja de 500 GB; você pode dividi-lo conforme sua necessidade, criar um backup de 10 sequências que consiste em 10 arquivos de backup, cada um com 50 GB de tamanho, e depois tentar restaurar ou mover os arquivos de backup um por um. Reduzirá o tráfego da rede e restaurará o tempo.

Subir Sankar Das
fonte
3
Olá Subir e bem-vindo ao DBA.SE. Editei sua resposta para melhorar sua clareza e remover a assinatura na parte inferior, de acordo com nossas diretrizes . Obrigado pela sua resposta.
Nick Chammas
Não vejo como dividir o arquivo em 10 arquivos individuais fará diferença no tempo necessário para transportá-los pela rede.
Max Vernon