IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Sauvegarde de la base de données Impossible


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut Sauvegarde de la base de données Impossible
    Bonjour,

    J'essaie de sauvegarder ma base de données via la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup database maBase to DISK='c:\sauvegarde.bak';
    SQL Server 2005 n'en veut pas. Et j'ai le message suivant :
    Msg 3201, Niveau 16, État 1, Ligne 1
    Impossible d'ouvrir l'unité de sauvegarde 'c:\auvegarde.bak'. Erreur 5(Accès refusé.) du système d'exploitation.
    Msg 3013, Niveau 16, État 1, Ligne 1
    BACKUP DATABASE s'est terminé anormalement.


    Je souhaite faire une sauvegarde de ma base afin de la transférer vers un autre PC.

    Avez vous une idée d'où le problème pourrait venir ? Ou tout simplement une piste ?

    En attente de vous lire en retour,

    2berte

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 139
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    SQL Server n'a pas les droits d'écriture sur la racine du disque C.
    Créez un nouveau repertoire "c:\backups" par exemple et modifiez votre commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    BACKUP DATABASE maBase TO DISK = 'c:\backups\sauvegarde.bak';
    GO
    Cordialement.

    David.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Je te remercie. C'était exactement cela ... Vive developpez.com

    2berte

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Par contre est-ce normal que dans mon fichier backup je n'ai pas les données ?

    Si, oui que dois je faire pour les avoir ?

    En attente de vous lire en retour,

    2berte

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Le fichier de sauvegarde de votre base de données contient les pages de données utilisées de votre base de données sous leur forme binaire.
    Si vous voulez savoir ce que contient votre fichier de sauvegarde, alors il vous faut restaurer votre base de données (sans écraser celle de production, sauf en cas de problèmes )

    @++

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Merci de votre réponse et de votre lien,

    J'ai essayé de faire une restauration de la base sur un autre PC à l'aide du code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Restore database maBase from Disk='d:\SQLBackup\Save\maBase.bak'
    J'ai bien la structure de ma base (tables, champs et relations) mais je n'ai toujours pas les données ...

    Auriez vous une piste afin de m'éclairer ?

    En attente de vous lire en retour,

    2berte

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Ca fonctionne si je fait avec l'outil de restauration de sauvegarde. Donc rien à comprendre.

    Mais maintenant 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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Lors de la restauration de votre base de données, celle-ci existait-elle déjà sur la machine sur laquelle vous l'avez restaurée ?

    Pour votre problème de sauvegarde, avec vous essayé avec Management Studio votre commande SQL de backup ?

    Essayez celle-ci ensuite, pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BACKUP DATABASE maBD
    TO  DISK = N'C:\monFichierBackup.bak'
    WITH INIT, NAME = N'Sauvegarde manuelle', STATS = 1
    Si oui, avez-vous des erreurs affichées dans l'onglet Messages de votre résultat de requête ?

    @++

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Lors de la restauration de votre base de données, celle-ci existait-elle déjà sur la machine sur laquelle vous l'avez restaurée ?
    J'ai essayé avec les deux possibilités. Cela ne fonctionnait pas. Enfin mes données n'y été pas. Cela devait provenir de ma sauvegarde. Mais maintenant ça fonctionne.

    Citation Envoyé par elsuket Voir le message
    Pour votre problème de sauvegarde, avec vous essayé avec Management Studio votre commande SQL de backup ?
    Je viens d'essayer à partir de Management Studio, cela fonctionne impeccable. Sauf qu'il me demande d'enregistrer un rapport. Donc le problème vient surement au niveau de sql command :

    sqlcmd -S 127.0.0.1\SQLEXPRESS -U utilisateur -P password -Q "BACKUP DATABASE maBase TO DISK = N'C:\Save\monFichierBackup4.bak' WITH INIT, NAME = N'Sauvegarde manuelle', STATS = 1"


    En attente de vous lire en retour,

    2berte

  10. #10
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Sauf qu'il me demande d'enregistrer un rapport
    C'est à dire ? Pourriez-vous fournir une capture d'écran ?

    sqlcmd -S 127.0.0.1\SQLEXPRESS -U utilisateur -P password -Q "BACKUP DATABASE maBase TO DISK = N'C:\Save\monFichierBackup4.bak' WITH INIT, NAME = N'Sauvegarde manuelle', STATS = 1"
    Avez-vous lancé cette commande depuis une fenêtre DOS sur le serveur ?
    Vous verrez probablement l'erreur qui se produit.

    @++

  11. #11
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 41
    Points
    41
    Par défaut Sauvegarde automatique SQL Server 2005 Express avec un fichier .bat
    Je vous remercie de votre aide. J'ai fais plein d'erreur de conception de ma sauvegarde. Mais je suis arriver à un script qui fonctionne.

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    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


    Je remercie toutes les personnes qui m'ont aider à élaborer ce script. Surtout n'hésitez pas à exprimer vos remarques afin de faire évoluer ce script.

    Cordialement

    2berte

  12. #12
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je n'ai pas pensé à vous dire que l'on peut passer un fichier de script SQL en paramètre à la commande SQLCMD avec le commutateur -i.
    Vous pouvez enregistrer la sortie de la commande dans un fichier avec le commutateur -o.

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauvegarde / Lecture de base de donnée
    Par Goold dans le forum Access
    Réponses: 14
    Dernier message: 18/06/2006, 09h15
  2. Réponses: 3
    Dernier message: 06/06/2006, 08h06
  3. sauvegarde d'une base de données
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/05/2006, 16h41
  4. sauvegarde de la base de données
    Par cleaver dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 08/05/2006, 23h58
  5. [JDBC] Connexion à la base de donnée impossible
    Par OverCat dans le forum JDBC
    Réponses: 6
    Dernier message: 20/12/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo