Sauvegarde autmatique SQL Server 2005 Express

Résolu/Fermé
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 - 28 nov. 2008 à 09:33
 kaela80 - 16 mai 2014 à 12:17
Bonjour,

Je possède une base de données sur un serveur que je souhaite sauvegarder automatiquement. C'est une base SQL Server 2005 Express. Vu que c'est la version express, impossible de faire des planifications de suavegarde via SQL Server Management Studio Express.

Donc j'ai vu sur le net qu'il fallait faire un script qui lance sqlcmd.exe en lui indiquant de faire une suavegarde. J'ai réalisé ceci pour le moment :

sqlcmd -S 127.0.0.1\SQLEXPRESS -U Serveur1 -P MotDePasse -Q "BACKUP DATABASE MaBase TO DISK = N'C:\Save\sauvegarde.BAK' WITH NOFORMAT, NOINIT, NAME = N'Complète Base de données Sauvegarde'"

J'ai enregistrer ce fichier dans un fichier BAT. Avant de le mettre dans la planification des tâches du serveur. Je l'ai testé, mais ça ne me sauvegarde rien.

Auriez vous une idée ou une piste afin de m'aider.

En attente de vous lire en retour,

2berte
A voir également:

18 réponses

2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
28 nov. 2008 à 14:27
Après de multiple recherche, je suis arriver à un script qui fonctionne. Ce script est à sauvegarder dans un fichier .bat.


J'espère que cette solution pourra dépanner de futur visiteur. Cette solution permet de sauvegarder une base de données SQL Server 2005 Express sous un nouveau nom à chaque fois en fonction de (année, mois, jour, heure, minute, seconde) et dans un repertoire précis.


Code :

SET J=%date:~-10,2%
SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%

IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%

SET REPERTOIRE=C:\Repertoire_Sauvegarde\

SET FICHIER=%REPERTOIRE%\Nom_de_mon_fichier_%J%_%M%_%A%_A_%H%_%MN%_%S%.bak

IF NOT exist "%REPERTOIRE%" md "%REPERTOIRE%"

cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn

sqlcmd -S NOM_DU_SERVEUR\SQLEXPRESS -Q "BACKUP DATABASE NOM_DE_LA BASE TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Sauvegarde automatique de la base de données', STATS = 1"


La liste des paramètres à modifier :
- Repertoire_Sauvegarde : correspond au répertoire de sauvegarde sur le PC (ou serveur) ex : C:\BackupBase\
- Nom_de_mon_fichier : correspond au début du nom de fichier de suavegarde ex : baseClients
- NOM_DU_SERVEUR : correspond au nom du serveur (ou au nom du PC) ex : Serveur1
- NOM_DE_LA BASE : correspond au nom de la base de données dans SQL Server ex : bddClient


Cordialement

2berte
19
Vince_du_45
30 nov. 2010 à 15:20
Super Merci !!! des heures de boulot économisées !!!!
0
Merci pour ce script ! ;)
0
Bonjour,
Je n'arrive pas à faire focntionner ce script, le dossier ce crée mais la sauvegarde ne se fait pas. De plus ds le répertoire 90 je n'ai pas le dossier tools\binn.
Si vous avez une idée, elle sera la bien venue...
Merci.
0
bayedemba Messages postés 14 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 11 mai 2015 37
28 juin 2012 à 13:18
si vous ne trouver pas le fichier sqlcmd dans C:\Program Files\Microsoft SQL Server\90\Tools\Binn

allez alors dans C:\Program Files\Microsoft SQL Server\100\Tools\Binn
0
ahcene272 Messages postés 2 Date d'inscription mercredi 1 août 2012 Statut Membre Dernière intervention 2 août 2012
1 août 2012 à 09:50
bonjour,
je n'arrive pas a faire ça j'ai crée le dossier répertoire, le fichier sqlcmd existe et mon fichier .bat il es sur le bureau mes la sauvegarde sa marche bien
0
Merci fort !!!! vous n'imaginez pas à quel point cela me rends service !!!
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
21 avril 2009 à 09:24
De rien,

au plaisirs d'aider

2berte
0
Pareil, il tombe à point ce sript! Merci beaucoup pour ce plan de maintenance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mdaghbouji Messages postés 1 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 8 août 2009
8 août 2009 à 21:39
bonsoir,

merci pour le script, tu m'as beaucoup aidé, je cherchais ça il y a un bon temps.

cordialement.
MAD
0
Excellent, merci pour ce travail partagé ! Je vais me servir de ce script chez mon client.
0
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
21 août 2009 à 08:28
Et vous embauchez par hasard ??? lol
0
groupematrix
19 nov. 2009 à 09:16
merci pour le scrpit de sauvegarde en SqlServer2005.
il a sauvé mon congé -:)
Cordialement.

Youyou
0
Vraiment c'est génial

Meri beaucoup
0
Super merci, vachement pratique.

Pour info le nom de ma base comportait un "-" et l'opération ne voulait pas se lancer. Il faut rajouter des crochets (ex: [NOM_DE_LA_BASE]).
0
MERCI BIEN ça marche !!
0
Merci bcp c'est super
0
merci le code ca marche tres bien
est ce que le fichier .bat se declenche automatiquemet a un momment donnée
0
pas très rassurant comme question ;) pour y répondre : tâche planifiée (comme déjà dit)
0
merci c'est super
0
M. 2berte, Merci bien, tu viens de faire un très bon travail qui a aidé tout le monde.
Malheureusement, ça n'a pas marché pour moi, car mon SqlServer n'est pas EXPRESS et j'ai un mot de passe.
Ma question: Qu'est ce que je dois mettre à la place de SQLEXPRESS
Voilà le scripte de backup après modification:
-----------------------------------------------------
@ECHO OFF
SET J=%date:~-10,2%
SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%

IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%

SET REPERTOIRE=D:\Database_backup_test\

SET FICHIER=%REPERTOIRE%\bacuptest.bak

IF NOT exist "%REPERTOIRE%" md "%REPERTOIRE%"

cd C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn

PAUSE

sqlcmd -S CSA-002199\Mon mot de passe -Q "BACKUP DATABASE GEOBUS TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Sauvegarde automatique de la base de données', STATS = 1"

PAUSE
-------------------------------------------
Voilà le message d'erreur
-----------------------------------------
HResult 0xFFFFFFFF, niveau 16, état 1
Sql Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
----------------------------------------------
Voilà, j'aimerais que quelqu'un fasse suite à mon problème.
Merci bien d'avance.
0
Merci pour ce script qui marche fort bien !

Par contre pour importer cette sauvegarde quel est la méthode ?

Merci d'avance.

Etienne.
0
bayedemba Messages postés 14 Date d'inscription jeudi 1 janvier 2009 Statut Membre Dernière intervention 11 mai 2015 37
26 juin 2012 à 13:06
ce code marche avec moi mais pensez à faire ceci:
-->si vous êtes vista ou seven le chemin ce n'est pas programme files
--> si vous ne trouver pas le fichier sqlcmd dans C:\Program Files\Microsoft SQL Server\90\Tools\Binn

allez alors dans C:\Program Files\Microsoft SQL Server\100\Tools\Binn
0
Si vous avez un mot de passe après le nom de votre serveur ajoutez :

SET password="MON_PASSWORD"
-U MON_LOGIN_SERVEUR -P %password%

ce qui donne :

sqlcmd -S NOM_DU_SERVEUR\SQLEXPRESS -U MON_LOGIN_SERVEUR -P %password% -Q "BACKUP DATABASE NOM_DE_LA BASE TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Sauvegarde automatique de la base de données', STATS = 1"
0