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

Administration SQL Server Discussion :

Sauvegarde, Unité de sauvegarde


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Par défaut Sauvegarde, Unité de sauvegarde
    Bonjour,

    je débute dans l'administration de SQL Server et j'ai quelques soucis pour la sauvegarde, soit voici mes questions:

    1) Lorsque l'on créer une unité de sauvegarde doit créer le fichier bak avant? Apparement si je lance une sauvegarde en ayant spécifé uniquement le lecteur physique ça plante...
    2) Lorsque qu'on effectue un sauvegarde des logs est-ce l'unité de sauvegarde doit pointer directement sur la même unité de sauvegarde que le backup full
    3) Quelle la manière la plus élégante de faire des backup full et des logs

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    1) Lorsque l'on créer une unité de sauvegarde doit créer le fichier bak avant? Apparement si je lance une sauvegarde en ayant spécifé uniquement le lecteur physique ça plante...
    Non SQL Server le fera à votre place lorsque la sauvegarde sera lancée. Si vous passez par la GUI il générera automatiquement un nom de fichier si vous ne le spécifiez pas de fichier tandis qu'avec un script TSQL il faudra bien spécifier le chemin complet avec le nom fichier que vous voulez créer.

    2) Lorsque qu'on effectue un sauvegarde des logs est-ce l'unité de sauvegarde doit pointer directement sur la même unité de sauvegarde que le backup full
    Non, il faut créer une unité différente.

    3) Quelle la manière la plus élégante de faire des backup full et des logs
    Pour ma part je trouve que de fonctionner avec les unités de sauvegarde est une très bonne chose. Cela permet de changer très facilement l'emplacement des sauvegardes depuis un seul endroit. Les scripts dépendant de ces unités n'ont donc pas besoin d'être modifiés

    ++

  3. #3
    Membre confirmé

    Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 130
    Par défaut Script de sauvegarde
    Bonjour, je vous propose le script suivant
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    @echo off
     
    REM Sauvegarde d une base pour une instance
    REM parametres:	nom de l'instance
    REM		nom de la base (ATTENTION à la casse)		
     
     
    REM --- Chargements path
    set bkp=E:\exploit\Save\save_%1_%2_%date:~6,4%_%date:~3,2%_%date:~0,2%.bak
    set tmp=E:\Exploit\Temp\s_%1_%2.sql
    set log=E:\Exploit\Log\Sauvegarde_%1_%2_%date:~6,4%_%date:~3,2%_%date:~0,2%.log
     
    REM --- rc utilise pour exit
    set rc=0
     
    REM --- les parametres sont ils presents ?
    if "%1" == "" goto erreur_param
    if "%2" == "" goto erreur_param
     
     
     
    REM REM --- Insertion date et heure dans le fichier log
    date /T							>  %log%					
    time /T							>> %log%
    REM 
     
    REM --- Suppression de l ancien log et sql pour cette instance/base
    if exist %TMP%\%2.sql del /Q %TMP%
    if exist %LOG%\%2.log del /Q %LOG%
     
    REM --- Suppression de l ancien backup de l instance/base de données
    del E:\exploit\Save\save_%1_%2_*.bak /Q
     
    REM --- le dump du jour existe t il si oui on le detruit
    if exist %bkp% del /Q %bkp%
     
     
    REM --- préparation du script sql
    echo select getdate()	as "date de traitement"		>  %tmp%
    echo use %2						>> %tmp%
    echo go							>> %tmp%
    echo exec sp_addumpdevice 'disk',nomsave_%1_%2, '%bkp%'	>> %tmp%
    echo go 						>> %tmp%
    echo backup database %2 to nomsave_%1_%2 		>> %tmp%
    echo go 						>> %tmp%
    echo exec sp_dropdevice 'nomsave_%1_%2'			>> %tmp%
    echo go 						>> %tmp%
     
    REM --- Clear to launch
    sqlcmd -S <ip ou nom dns du serveur>\%1 -U sa -P %1 -i %tmp% -o %log%
    findstr /I "BACKUP.DATABASE.a.trait..avec.succ.s" %LOG% >NUL
    IF %ERRORLEVEL% EQU 0 goto fin
    goto erreur_sqlcmd
     
    REM --- Gestion de erreur et Fin
     
    REM --- Gestion erreur syntaxe sqlcmd
    :erreur_sqlcmd
    echo probleme sur sauvegarde niveau sqlcmd		
    echo consulter Log		
    exit 10
     
    REM --- Gestion erreur paramètres
    :erreur_param
    echo paramètre(s) instance et/ou base absent(s)		
    exit 10
     
    REM -- Fin
    :fin
     
    echo  													
    echo Sauvegarde de %1\%2 terminée avec un rc de %rc%							
    exit %rc%
    en deux mots:
    - créer un répertoire de backup ( voir la variable bkp): dépot des dumps
    - créer un répertoire temp ( voir la variable temp) : dépot des scripts
    - créer un répertoire log ( voir la variable log) : dépot log du script
    - sur la ligne sqlcmd mettre @ip ou le nom dns du serveur
    - le lancement? Tout bête, de votre pc ou du serveur:
    nom_du_script_ sauvegardé nom_instance nombase.

    Si souci me contacter.

    Bon courage

    Labienus

Discussions similaires

  1. Purge file dans unité de sauvegarde
    Par djjej182 dans le forum Administration
    Réponses: 0
    Dernier message: 18/06/2014, 15h28
  2. Réponses: 4
    Dernier message: 26/06/2012, 09h25
  3. Réponses: 8
    Dernier message: 25/10/2007, 21h26
  4. [Sauvegarde] Logiciel de sauvegarde à distance par FTPS
    Par Miles Raymond dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 15/10/2007, 11h19
  5. Sauvegardes à froid et sauvegardes à chaud
    Par dcollart dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 26/07/2005, 07h57

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