Sauvegarde autmatique SQL Server 2005 Express [Résolu/Fermé]

Signaler
Messages postés
204
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
10 mai 2010
-
 kaela80 -
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

18 réponses

Messages postés
204
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
10 mai 2010
140
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Merci pour ce script ! ;)
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.
Messages postés
14
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
11 mai 2015
37
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
Messages postés
2
Date d'inscription
mercredi 1 août 2012
Statut
Membre
Dernière intervention
2 août 2012

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
Super Merci !!!
Merci fort !!!! vous n'imaginez pas à quel point cela me rends service !!!
Messages postés
204
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
10 mai 2010
140
De rien,

au plaisirs d'aider

2berte
Pareil, il tombe à point ce sript! Merci beaucoup pour ce plan de maintenance
Messages postés
1
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
8 août 2009

bonsoir,

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

cordialement.
MAD
Excellent, merci pour ce travail partagé ! Je vais me servir de ce script chez mon client.
Messages postés
204
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
10 mai 2010
140
Et vous embauchez par hasard ??? lol

merci pour le scrpit de sauvegarde en SqlServer2005.
il a sauvé mon congé -:)
Cordialement.

Youyou
Vraiment c'est génial

Meri beaucoup
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]).
MERCI BIEN ça marche !!
Merci bcp c'est super
merci le code ca marche tres bien
est ce que le fichier .bat se declenche automatiquemet a un momment donnée
pas très rassurant comme question ;) pour y répondre : tâche planifiée (comme déjà dit)
merci c'est super
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.
Merci pour ce script qui marche fort bien !

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

Merci d'avance.

Etienne.
Messages postés
14
Date d'inscription
jeudi 1 janvier 2009
Statut
Membre
Dernière intervention
11 mai 2015
37
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
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"