begin process at 2010 02 10 03:48:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Migration

 > SQL SERVER - RESTAURER UNE BASE DEPUIS UN BACKUP

SQL SERVER - RESTAURER UNE BASE DEPUIS UN BACKUP


 Information sur la source



 Description

Le cadre de cet exemple est de faire en sorte de pouvoir monter sur un serveur de test un backup que l'on aurait récupéré depuis le serveur de production.
Ainsi, dans mon cas il s'agit en un seul script de créer la base de données sur le serveur de test et de lui remonter le backup que l'on a récupéré.

Source

  • USE master
  • GO
  • CREATE DATABASE NotreBase
  • ON
  • ( NAME = NotreBase_dat,
  • FILENAME = 'C:\NotreRépertoireDeStockage\NotreBase.mdf' )
  • GO
  • RESTORE DATABASE NotreBase
  • FROM
  • DISK = 'C:\Temp\NotreBaseProd.bak'
  • WITH
  • MOVE 'NotreBase_dat' TO 'C:\NotreRépertoireDeStockage\NotreBase.mdf',
  • MOVE 'NotreBase_log' TO 'C:\NotreRépertoireDeStockage\NotreBase_log.LDF'
  • GO
USE master
GO
CREATE DATABASE NotreBase
ON 
( NAME = NotreBase_dat,
   FILENAME = 'C:\NotreRépertoireDeStockage\NotreBase.mdf' )
GO


RESTORE DATABASE NotreBase
	FROM 	
		DISK = 'C:\Temp\NotreBaseProd.bak'
	WITH
		MOVE 'NotreBase_dat' TO 'C:\NotreRépertoireDeStockage\NotreBase.mdf',
		MOVE 'NotreBase_log' TO 'C:\NotreRépertoireDeStockage\NotreBase_log.LDF'

GO


 Conclusion

Ce script a été testé sur un moteur MSDE pour cible de la base de test et a fonctionné parfaitement.

En vous souhaitant un bon coding.

Romelard Fabrice


 Sources du même auteur

SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE
SQL SERVER 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON...
SQL SERVER 2005 : OBTENIR LA LISTE DES BASES DE CONTENU D'UN...
SQL SERVER - OBTENIR LA POSITION DU PREMIER CHIFFRE D'UNE CH...
SQL SERVER - UPDATE D'UNE TABLE EN BOUCLE PAR LOT

 Sources de la même categorie

Source avec Zip DUMP LOAD D'UNE BASE DE DONNÉES par pneau
SQL SERVER 2000 - EXPORTER LES COMPTES UTILISATEURS SQL ET N... par fabrice69
SQL SERVER 2000 - COMPACTER TOUTES LES BASES DE DONNÉES DU S... par fabrice69
SQL SERVER - RESTAURER UNE BASE ET REJOUER LE LOG DE TRANSAC... par fabrice69

 Sources en rapport avec celle ci

SQL SERVER - RESTAURER UNE BASE ET REJOUER LE LOG DE TRANSAC... par fabrice69
MYSQL - MISE EN PLACE D'UN BACKUP AUTOMATIQUE DES BASES DE D... par fabrice69
BACKUP DU FICHIER LOG par jfperras
SQL SERVER - PROCÉDURE STOCKÉE FAISANT UN BACKUP DE TOUTES L... par fabrice69

Commentaires et avis

Commentaire de dhardy le 12/03/2007 13:24:19

Bonjour,

Est-il possible de restaurer une base de donnée sous un autre nom sans écraser celle qui existe ?
Exemple :
Il existe une base de donnée NotreBase et on la sauvegarde sous le nom NotreBaseProd.bak.
On veut restaurer celle-ci sous le nom AutreBase mais la base de donnée NotreBase existe toujours sur le serveur.

Merci

Commentaire de fabrice69 le 12/03/2007 16:23:09 administrateur CS

Bonjour,
Normalement cela ne pose aucun problème, il faut surtout modifier le nom de la base et le chemin d'accès aux fichiers :
--------------------------------------------------
USE master
GO
CREATE DATABASE NotreBaseCopy
ON
( NAME = NotreBase_dat,
   FILENAME = 'C:\NotreRépertoireDeStockage\NotreBaseCopy.mdf' )
GO


RESTORE DATABASE NotreBaseCopy
FROM
DISK = 'C:\Temp\NotreBaseProd.bak'
WITH
MOVE 'NotreBase_dat' TO 'C:\NotreRépertoireDeStockage\NotreBaseCopy.mdf',
MOVE 'NotreBase_log' TO 'C:\NotreRépertoireDeStockage\NotreBaseCopy_log.LDF'

GO
--------------------------------------------------

Cordialement

Romelard Fabrice [MVP]

Commentaire de dhardy le 13/03/2007 09:11:45

Bonjour,

J'ai essayé mais malheureusement je n'arrive pas.
Voici le message signalé par "Analyseur de requête SQL (SQL 2000)" :

La base de données à restaurer s'appelait 'NotreBase'.
Relancez l'instruction avec l'option WITH REPLACE pour remplacer la base de données 'NotreBaseCopy'.

Et voici le scripte complet que j'exécute :

USE master
GO

CREATE DATABASE NotreBase
ON
( NAME = NotreBase_dat,
   FILENAME = 'C:\Data_DH\Database\NotreBase.mdf' )
GO

CREATE TABLE clients
(clt_num CHAR(8) NOT NULL PRIMARY KEY,
clt_nom VARCHAR(25) NOT NULL,
clt_pnom VARCHAR(20),
clt_pays VARCHAR(2) NOT NULL,
clt_loc VARCHAR(20) NOT NULL,
clt_ca integer DEFAULT 0,
clt_type VARCHAR(16) DEFAULT 'Particulier'
     CHECK (clt_type in ('Particulier', 'Administration',
                                     'Grand compte', 'PME'))
)
GO

CREATE TABLE fournisseurs
( frs_num CHAR(8) NOT NULL PRIMARY KEY,
  frs_nom VARCHAR(25) NOT NULL UNIQUE)
GO

BACKUP DATABASE NotreBase
    TO DISK = 'C:\Data_DH\Backup Database\NotreBase.bak'
GO

CREATE DATABASE NotreBaseCopy
ON
( NAME = NotreBase_dat,
   FILENAME = 'C:\Data_DH\Database\NotreBaseCopy.mdf' )
GO

RESTORE DATABASE NotreBaseCopy
FROM
DISK = 'C:\Data_DH\Backup Database\NotreBase.bak'
WITH
MOVE 'NotreBase_dat' TO 'C:\Data_DH\Database\NotreBaseCopy.mdf',
MOVE 'NotreBase_log' TO 'C:\Data_DH\Database\NotreBaseCopy_log.LDF'
GO

Merci de votre aide

PS : Le but étant de pouvoir restaurer une base de donnée sur le même serveur mais sous un autre nom car celle-ci est utilisé.

Commentaire de dymsbess le 03/06/2009 18:36:46

Pour une restauration dynamique à partir d'un chemin, voir PS :

http://www.xoowiki.com/Article/SQL/restauration-dynamique-20.aspx

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Backup et restauration avec les recovery model [ par bubix ] Bonsoir, Je veux réaliser un backup complet de ma base.  Ensuite, je veux faire un backup de journal des transactions.J'utilise la commande sauvegarde [ par logant83 ] Bonsoir, voila enfaite je code en C sous dev c++ et j'aimerai pouvoir faire une sauvegarde de certaines des tables de ma base mysql dans un fichier et Prob de Restauration base de données [ par cindyb ] Bonjour,voilà, à partir d'une appli en VB6, je lance des procédures stockées sur le serveur avec la base de données sous sql serveur.Une première proc stratégie de sauvegarde [ par sajid_morad ] salutj utise sql server 2005, et j aimerai bien adopté une stratégie de sauvegarde des données afin  de ne pas les  perdre , et pour cela je préfer me Restore dump [ par Zylott ] Bonjour,je souhaiterai savoir s'il existe un moyen de connaitre sous SQL server 2000/2005 :soit à partir de l'interface, soit en procédure stockée.1/ HELP !!!!!!!!!!! Sauvegarde MySQL qui ne fonctionnent pas tout le temps [ par globule ] Bonjour,J'ai realisé une application en VB6 qui utilise MySQL et VB6. J'installe le serveur MySQL grace a MySQL essential.Tout cela fonctionne tres bi Sauvegarde de BDD [ par Axar ] Bonjour a tous,Lorsque je créé un plan de maitenance sous SQL Serveur 2000,et que je selectionne uniquement  la journalisation des transactions.Certai sauvegarde des bases MySQL : CA NE MARCHE PAS !!!! HELP [ par globule ] Bonjour,Je rencontre un très gros problème avec la sauvegarde des bases MySQLJ'ai un gros projet en VB6, qui utilise MySQL en client serveur (réseaux problem de sauvegarde des données [ par anilane ] voila j'ai l'oracle 9i et j'ai un problem de sauvegarde des donnée j'ai créée mes tables , mais lors de l'ajout d'un enregistrement ya un pb quand le SQLSRV2K : problème avec sp_addumpdevice ? [ par Cybertat ] Bonjour à tous,Je fait mes débuts en TSQL et je souhaite automatisé ma sauvegarde des bases vers un lecteur réseau d'un autre PC. J'ai bien mis les au


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales