Copie d'une base de données SQL Server de 500 Go de l'instance de production vers l'instance de développement

12

Nous devons copier une base de données de 500 Go de notre serveur PRODUCTION vers un serveur DEV. Nous n'avons qu'une fenêtre de 5 heures.

Quelle serait la manière la plus rapide d'y parvenir?


la source
7
1. Qu'entendez-vous par "une fenêtre de 5 heures"? La production sera en panne pendant 5 heures? 2. Avez-vous besoin de la dernière version absolue de la base de données de production ou une sauvegarde récente suffira-t-elle? 3. Dans quel mode de récupération se trouve votre base de données de production?
Nick Chammas

Réponses:

15

Vous pouvez faire deux options qui n'entraîneront aucun temps d'arrêt pour votre environnement de production:

1) Si vous souhaitez uniquement saisir la structure de la base de données elle-même (vous n'avez pas besoin des données), vous pouvez simplement créer un script pour la base de données de production. Ensuite, exécutez simplement cela sur votre serveur de développement pour créer la base de données.

2) Si vous avez besoin de la base de données et des données, saisissez simplement la dernière sauvegarde de cette base de données et restaurez-la sur votre serveur de développement. Vous constaterez qu'il s'agit de la méthode la plus couramment utilisée pour maintenir les serveurs de développement adaptés aux données de production.


la source
9

Si tu as

  • compression de sauvegarde activée?
  • un réseau serveur-serveur rapide (le point d'entrée est de 1 Go)

... puis copiez-le, restaurez. Cela peut être scripté dans powershell, perl, cmd.exe, etc.

Quand vous dites "fenêtre", je suppose que vous voulez dire 5 heures de fenêtre sur la production. Il ne peut pas être si important de charger le développement.

gbn
la source
5

Copiez sur le disque dur connecté localement.

Pourquoi seulement une fenêtre limitée? Ne copiez pas - chargez la sauvegarde dans le dev.

TomTom
la source
D'accord. Pas besoin de se détacher (nécessitant un temps d'arrêt), vraiment, lorsque la restauration d'une sauvegarde suffira.
p.campbell
2
J'appuie la copie d'une sauvegarde. Il n'est pas nécessaire de supprimer votre base de données de production pour la copier n'importe où. Si vous avez besoin d'un moment précis, effectuez une sauvegarde copy_only (SQL 2005+) ou copiez également certaines sauvegardes du journal de transfert.
Ben Thul
2

Peut-être que ma réponse ne correspond pas à votre cas d'utilisation, mais avez-vous déjà envisagé de configurer sur votre serveur de développement une base de données de secours en utilisant une technique telle que l'envoi de journaux ... afin que vous puissiez restaurer votre prod sur votre développeur avant et gardez cette copie en synchronisation avec votre produit ...

J'espère que cette aide

Darkwookiee
la source
0

Créez un fichier de séquence de sauvegarde. Disons que la taille totale de votre sauvegarde est de 500 Go; vous pouvez le diviser en fonction de vos besoins, créer une sauvegarde en 10 séquences composée de 10 fichiers de sauvegarde de 50 Go chacun, puis essayer de restaurer ou de déplacer les fichiers de sauvegarde un par un. Cela réduira le trafic réseau et le temps de restauration.

Subir Sankar Das
la source
3
Bonjour Subir et bienvenue sur DBA.SE. J'ai modifié votre réponse pour améliorer sa clarté et supprimer la signature en bas conformément à nos directives . Merci pour votre réponse.
Nick Chammas
Je ne vois pas comment la division du fichier en 10 fichiers individuels fera une différence dans le temps nécessaire pour transporter ces fichiers sur le réseau.
Max Vernon