Bonjour a tous,
je suis nouveau avec sql server et je souhaite implementer un backup full + differenciels.
Le full serait une fois par semaine et les differentiels tous les jours.
Le probleme arrive lorsque j'essaie de restorer le LOG.
Voici la suite des operations:
Je positione la base en recov full
1 2 3
| --USE master;
--ALTER DATABASE susdb SET RECOVERY FULL;
--GO |
Je fait le premier backup full
--BACKUP DATABASE susdb TO DISK = 'Z:\backup\susdb\susdbfull.bak' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10;
Ensuite je fais un backup du log
1 2
| --BACKUP LOG susdb TO DISK = 'Z:\backup\susdb\susdb_log.bak' WITH NORECOVERY;
--GO |
Et enfin le premier diff
--BACKUP DATABASE susdb TO DISK = 'Z:\backup\susdb\susdb_diff.bak' WITH NOINIT , NOUNLOAD ,DIFFERENTIAL, NOSKIP , STATS = 10, NOFORMAT;
La je detruit ma base pour la restoration
--RESTORE DATABASE susdb FROM DISK = 'Z:\backup\susdb\susdbfull.bak' WITH FILE=1,NORECOVERY;
Et c'est la que j'ai le doute, le log doit etre restoré juste apres le full? ou doit il etre restoré apres le diff?
1 2 3 4 5 6 7
|
--RESTORE DATABASE susdb FROM DISK = 'Z:\backup\susdb\susdb_diff.bak' WITH FILE=1,NORECOVERY;
--RESTORE LOG susdb FROM DISK = 'Z:\backup\susdb\susdb_log.bak' WITH FILE=2, NORECOVERY;
|
Dans tous les cas j'ai cette erreur:
1 2 3
| No se encuentra el Id. de archivo 2 en el dispositivo 'Z:\backup\susdb\susdb_log.bak'
Traduction, Ne trouve pas l'id du fichier 2 dans le dispositif.... |
Si je passe du log et que j'execute ceci, ça marche.
1 2 3 4
| --GO
--recover the database:
--RESTORE DATABASE susdb WITH RECOVERY;
--GO |
J'ai pas compris la logique en fait, dois avoir des log si j'utilise le differentiel?
D'avance merci
Partager