Windows

Sauvegarder et restaurer des bases de données SQLServer Express

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



Une fois n'est pas coutume, mais j'avoue que je n'ai pas envie de rechercher ces commandes sous Windows qui me sont fortes utiles ...
Ici, les deux commandes magiques pour sauvegarder et restaurer une base de données SQLServer en ligne de commande (pour une tâche planifiée)


Contexte



Voici le contexte :

  • OS : Windows Server 2012
  • Serveur SQL : 2008 R2 (Express)
  • Nom de l'instance SQL: (local)\SQLEXPRESS
  • Utilisateur SQL : sa
  • Mot de passe SQL : sapwd
  • Base de données : adrien



Sauvegarde



Dans un premier temps, l'utilitaire n'est pas dans le PATH de Windows. Soit on saisit le nom complet du chemin de la commande, ou on se rends dans le dossier de la commande auparavant. J'ai choisi cette deuxième solution :

Code :
cd "C:\Program Files\Microsoft SQL Server\100\Tools\Bin"


Je teste dans un premier temps la bonne connexion :

Code :
sqlcmd -S (local)\SQLEXPRESS -U sa -P sapwd


Saisir "quit" pour quitter.

Pour lancer la sauvegarde de la base de données, voici la commande :

Code :
sqlcmd -S (local)\SQLEXPRESS -U sa -P sapwd -Q "BACKUP DATABASE adrien TO DISK = 'c:\sav\adrien.bak' WITH INIT, NAME = 'Sauvegarde bdd adrien', STATS = 1 "


Pour les curieux, le "STATS = 1" permet d'être un peu plus verbeux :

Caché :
Code :
1 pour cent traités.
2 pour cent traités.
3 pour cent traités.
4 pour cent traités.
5 pour cent traités.
6 pour cent traités.
7 pour cent traités.
8 pour cent traités.
9 pour cent traités.
10 pour cent traités.
11 pour cent traités.
12 pour cent traités.
13 pour cent traités.
14 pour cent traités.
15 pour cent traités.
16 pour cent traités.
17 pour cent traités.
18 pour cent traités.
19 pour cent traités.
20 pour cent traités.
21 pour cent traités.
22 pour cent traités.
23 pour cent traités.
24 pour cent traités.
25 pour cent traités.
26 pour cent traités.
27 pour cent traités.
28 pour cent traités.
29 pour cent traités.
30 pour cent traités.
31 pour cent traités.
32 pour cent traités.
33 pour cent traités.
34 pour cent traités.
35 pour cent traités.
36 pour cent traités.
37 pour cent traités.
38 pour cent traités.
39 pour cent traités.
40 pour cent traités.
41 pour cent traités.
42 pour cent traités.
43 pour cent traités.
44 pour cent traités.
45 pour cent traités.
46 pour cent traités.
47 pour cent traités.
48 pour cent traités.
49 pour cent traités.
50 pour cent traités.
51 pour cent traités.
52 pour cent traités.
53 pour cent traités.
54 pour cent traités.
55 pour cent traités.
56 pour cent traités.
57 pour cent traités.
58 pour cent traités.
59 pour cent traités.
60 pour cent traités.
61 pour cent traités.
62 pour cent traités.
63 pour cent traités.
64 pour cent traités.
65 pour cent traités.
66 pour cent traités.
67 pour cent traités.
68 pour cent traités.
69 pour cent traités.
70 pour cent traités.
71 pour cent traités.
72 pour cent traités.
73 pour cent traités.
74 pour cent traités.
75 pour cent traités.
76 pour cent traités.
77 pour cent traités.
78 pour cent traités.
79 pour cent traités.
80 pour cent traités.
81 pour cent traités.
82 pour cent traités.
83 pour cent traités.
84 pour cent traités.
85 pour cent traités.
86 pour cent traités.
87 pour cent traités.
88 pour cent traités.
89 pour cent traités.
90 pour cent traités.
91 pour cent traités.
92 pour cent traités.
93 pour cent traités.
94 pour cent traités.
95 pour cent traités.
96 pour cent traités.
97 pour cent traités.
98 pour cent traités.
99 pour cent traités.
33272 pages traitées pour la base de données 'adrien', fichier 'PCS_MODELE
_ENTP_data' dans le fichier 1.
100 pour cent traités.
1 pages traitées pour la base de données 'adrien', fichier 'PCS_MODELE_ENT
P_log' dans le fichier 1.
BACKUP DATABASE a traité avec succès 33273 pages en 29.296 secondes (8.873 Mo/s)


Restauration



Pour la restauration, il est impératif que le nom de la base de données soit identique.

Code :
sqlcmd -S (local)\SQLEXPRESS -U sa -P sapwd -Q "RESTORE DATABASE adrien FROM DISK = 'c:\sav\adrien.bak' WITH STATS = 1"


De la même façon, la restauration est un peu verbeuse avec "WITH STATS = 1"

Caché :
Code :
1 pour cent traités.
2 pour cent traités.
3 pour cent traités.
4 pour cent traités.
5 pour cent traités.
6 pour cent traités.
7 pour cent traités.
8 pour cent traités.
9 pour cent traités.
10 pour cent traités.
11 pour cent traités.
12 pour cent traités.
13 pour cent traités.
14 pour cent traités.
15 pour cent traités.
16 pour cent traités.
17 pour cent traités.
18 pour cent traités.
19 pour cent traités.
20 pour cent traités.
21 pour cent traités.
22 pour cent traités.
23 pour cent traités.
24 pour cent traités.
25 pour cent traités.
26 pour cent traités.
27 pour cent traités.
28 pour cent traités.
29 pour cent traités.
30 pour cent traités.
31 pour cent traités.
32 pour cent traités.
33 pour cent traités.
34 pour cent traités.
35 pour cent traités.
36 pour cent traités.
37 pour cent traités.
38 pour cent traités.
39 pour cent traités.
40 pour cent traités.
41 pour cent traités.
42 pour cent traités.
43 pour cent traités.
44 pour cent traités.
45 pour cent traités.
46 pour cent traités.
47 pour cent traités.
48 pour cent traités.
49 pour cent traités.
50 pour cent traités.
51 pour cent traités.
52 pour cent traités.
53 pour cent traités.
54 pour cent traités.
55 pour cent traités.
56 pour cent traités.
57 pour cent traités.
58 pour cent traités.
59 pour cent traités.
60 pour cent traités.
61 pour cent traités.
62 pour cent traités.
63 pour cent traités.
64 pour cent traités.
65 pour cent traités.
66 pour cent traités.
67 pour cent traités.
68 pour cent traités.
69 pour cent traités.
70 pour cent traités.
71 pour cent traités.
72 pour cent traités.
73 pour cent traités.
74 pour cent traités.
75 pour cent traités.
76 pour cent traités.
77 pour cent traités.
78 pour cent traités.
79 pour cent traités.
80 pour cent traités.
81 pour cent traités.
82 pour cent traités.
83 pour cent traités.
84 pour cent traités.
85 pour cent traités.
86 pour cent traités.
87 pour cent traités.
88 pour cent traités.
89 pour cent traités.
90 pour cent traités.
91 pour cent traités.
92 pour cent traités.
93 pour cent traités.
94 pour cent traités.
95 pour cent traités.
96 pour cent traités.
97 pour cent traités.
98 pour cent traités.
99 pour cent traités.
100 pour cent traités.
33272 pages traitées pour la base de données 'adrien', fichier 'PCS_MODELE
_ENTP_data' dans le fichier 1.
1 pages traitées pour la base de données 'adrien', fichier 'PCS_MODELE_ENT
P_log' dans le fichier 1.
RESTORE DATABASE a traité avec succès 33273 pages en 15.802 secondes (16.450 Mo/
s).