begin process at 2012 02 04 19:00:15
  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 et restauration SQLServer [ par father1988 ] Bnj , j'ai un problème au niveau des sauvegardes et des restaurations: j'arrive pas à distinguer entre les modes de récupération:complet,bloc et simpl Restauration de base SQL [ par yenefoli ] bonjour, j'ai un serieux probleme car je vis en cote d'ivoire et la societé pour laquelle je boss à été victime de pillage. j'ai pu avoir juste une s Restauration de base automatique [ par le_bert ] Bonjour,Je cherche à automatiser la restauration de ma base de DEV depuis le fichier .bak de prod que je ramène par FTP tous les jours.Exist Sauvegarde automatique sqlserver 2000 [ par jojos89 ] Salut a tous,J'ai une base de données en local sur mon pc (avec sqlserver 2000)que je voudrais sauvegardé automatique (tous les soir) s sauvegarde access [ par fififoufou2 ] Bonjour, Est-il possible de sauvegarder une bdd Access à l'aide d'une commande sql. A la limite, en exporter les données au format word, excel ou autr 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/


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,373 sec (3)

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