Copia del database SQL Server da 500 GB dall'istanza Production a Dev


12

Dobbiamo copiare un database da 500 GB dal nostro server PRODUCTION a un server DEV. Abbiamo solo una finestra di 5 ore.

Quale sarebbe il modo più rapido per raggiungere questo obiettivo?


7
1. Cosa intendi con "una finestra di 5 ore"? La produzione sarà inattiva per 5 ore? 2. È necessaria l'ultima versione assoluta del database di produzione o sarà sufficiente un backup recente? 3. In quale modalità di ripristino si trova il tuo database di produzione?
Nick Chammas,

Risposte:


15

Ci sono due opzioni che puoi fare che non causeranno tempi di inattività del tuo ambiente di produzione:

1) Se vuoi solo afferrare la struttura del database stesso (non hai bisogno dei dati) puoi semplicemente eseguire lo script del database di produzione. Quindi eseguilo semplicemente sul tuo server di sviluppo per creare il database.

2) Se hai bisogno del database e dei dati, semplicemente prendi l'ultimo backup di quel database e ripristinalo sul tuo server di sviluppo. Scoprirai che questo è il metodo più comune utilizzato per mantenere i server di sviluppo abbinati ai dati di produzione.


9

Se hai

  • compressione di backup attivata?
  • una rete server-server veloce (il punto di ingresso è 1 GB)

... quindi basta copiarlo, ripristinare. Questo può essere scritto in powershell, perl, cmd.exe ecc.

Quando dici "finestra" presumo che intendi 5 ore di finestra sulla produzione. Non può essere così importante caricare lo sviluppo.


5

Copia su disco fisso collegato localmente.

Perché solo una finestra limitata? Non copiare: carica il backup su dev.


Concordato. Non è necessario staccare (richiedendo tempi di inattività), in realtà, quando si ripristina un backup sarà sufficiente.
p

2
Secondo, copierò un backup. Non è necessario rimuovere il database di produzione per copiarlo ovunque. Se è necessario un determinato momento, eseguire un backup copy_only (SQL 2005+) o copiare anche alcuni backup del registro di trasferimento.
Ben giovedì

2

Forse la mia risposta non si adatterà al tuo caso d'uso ma, hai mai preso in considerazione la configurazione, sul tuo server di sviluppo, di un database di stand-by usando una tecnica come il log shipping ... in modo da poter ripristinare il tuo prodotto sul tuo sviluppatore prima e mantieni questa copia sincronizzata con il tuo prod ...

Spero che questo aiuto


0

Crea un file di sequenza di backup. Supponiamo che l'intera dimensione del backup sia di 500 GB; puoi dividerlo in base alle tue necessità, creare un backup in 10 sequenze composto da 10 file di backup, ciascuno di dimensioni pari a 50 GB, quindi provare a ripristinare o spostare i file di backup uno per uno. Ridurrà il traffico di rete e ripristinerà i tempi.


3
Ciao Subir e benvenuto su DBA.SE. Ho modificato la tua risposta per migliorarne la chiarezza e rimuovere la firma in fondo secondo le nostre linee guida . La ringrazio per la risposta.
Nick Chammas,

Non riesco a vedere come dividere il file in 10 singoli file farà alcuna differenza per il tempo necessario per trasportare quei file attraverso la rete.
Max Vernon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.