Sauvegarde et restauration SQLServer

father1988 Messages postés 4 Date d'inscription mardi 9 mars 2010 Statut Membre Dernière intervention 20 novembre 2010 - 20 nov. 2010 à 06:11
nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 - 14 déc. 2010 à 15:27
Bnj ,
j'ai un problème au niveau des sauvegardes et des restaurations:
j'arrive pas à distinguer entre les modes de récupération:complet,bloc et simple,et aussi Restore avec recovery,norecovery et no truncate,tout ce que je sais c'est qu'on doit restaurer toujours la dernière suavegarde complète,la dernière différentielle et les journaux ,on doit les récupérer tous et dans l'ordre .
Voici une petite cas d'étude;Après incident sur une BD V, on doit donner dans l’ordre les opérations à effectuer afin de retrouver l’état avant incident ?
a. Exécuter restore log with norecovery sur tous les anciens journaux.
b. Exécuter restore database with recovery.
c. Exécuter restore log pour tous les journaux.
d. Exécuter restore database with norecovery
e. Exécuter Backup log with no_truncate
f. Exécuter restore log with recovery sur le journal sauvegardé.
g. Exécuter Backup Database with no_truncate.

ce que je propose c'est l'ordre:g),e), d),a)
mais je suis pas sur ni convaincue car j'avais pas bien maitriser les # notions.

SVP si vous avez une idée sur ce module important(Sauvegarde et restauration) de SQLServer,veuillez m'aider .

Merci d'avance.

1 réponse

nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
14 déc. 2010 à 15:27
Les modes de récupérations :

Full/BulkInsert : le fichier de log n'est jamais tronqué tant qu'il n'est pas sauvergarder par une commande backup log. Il contient donc toutes les transactions depuis le dernier backup log. Le flag no_truncate indique que malgrés l'ordre de backup log, le log ne doit pas etre tronqué. Les transactions terminée (validée/annulée) persisterons donc dans le log et seront re backupé au prochain backup log (et dans les suivants jusqu'a ce qu'un ordre de backup tronque le log).
Simple : Le fichier de log ne se backup pas, les transactions sont tronqué du fichier de log au fur et a mesure de leurs validation/annulation (commit tran/rollback tran). Il est impossible d'executer une commande backup log sur une base en mode de récuperation simple.

Mode de réstauration :
NORECOVERY : indique qu'a la fin de la réstauration la base ne sera pas finie de restauré à l'etat ou tu veux la réstaurer et sera donc dans un status qui attendra l'application du backup suivant par une nouvelle commande restaure
RECOVERY : indique que tu as appliquer tous les fichiers de backup que tu voulais et que la base est à jour. Elle est donc ouverte aux utilisateurs.

Sur un plan de sauvegarde tel que F Backup full / I Backup incrémental / LT = backup Log avec troncate / LNT = Backup Log avec no_truncate avec la chronologie suivante :

Temps1 : F
Temps2 : LNT1
Temps3 : LNT2
Temps4 : LT1
Temps5 : I
Temps6 : LNT3
Temps7 : LNT4
Temps8 : LT1
Temps9 : F

Il faut comprendre que les LT sont des cumulatifs des LNT précédents depuis la derniere F ou I, que la I est un cumulatif du/des LT depuis la derniere F.
Tout depend apres d'a quel moment surviens ton crash.
Pour un crash avant le Temps2 : Restaure F RECOVERY pour ouvrir la base
Pour un crash avant le Temps4 : Restaure F NORECOVERY puis restraure LNT1 NORECOVERY puis restaure LNT2 RECOVERY pour ouvrir la base
Pour un crash avant le Temps5 : Restaure F NORECOVERY puis restaure LT1 RECOVERY pour ouvrir la base
Pour un crash avant le Temps 6 : Restaure F NORECOVERY puis restaure I RECOVERY pour ouvrir la base
Pour un crash avant le temps 7 : Restaure F NORECOVERY puis restraure I NORECOVERY puis restaure LNT1 RECOVERY pour ouvrir la base
Voila a peu pret les cas de figures.
0
Rejoignez-nous