Dans une situation d'urgence sur une base de production, on doit pouvoir recharger une base jusqu'à un moment donné.
La solution est de :
- Recharger le dernier backup de base valide
- Recharger le dernier backup des logs de transaction en définissant la date et l'heure
On va donc partir de ces deux fichiers de backup (si on a plusieurs backup de log, il faut charger chaque log)
Cette source est basée sur la précédente :
-
http://www.sqlfr.com/codes/SQL-SERVER-RESTAURER-BASE-DEPUIS-BACKUP_35528.aspx
Source / Exemple :
------------------------------------------------------
---- CHARGEMENT DE LA BASE AVEC LE BACKUP VALIDE -----
------------------------------------------------------
USE master
--- Restauration de la base de données - Fichier .BAK
RESTORE DATABASE NotreBase
FROM
DISK = 'C:\Temp\NotreBaseProd.bak'
WITH
MOVE 'NotreBase_dat' TO 'C:\NotreRépertoireDeStockage\NotreBase.mdf',
MOVE 'NotreBase_log' TO 'C:\NotreRépertoireDeStockage\NotreBase_log.LDF'
NORECOVERY
------------------------------------------------------
- CHARGEMENT DES TRANSACTIONS AVEC LE BACKUP VALIDE --
------------------------------------------------------
USE master
--- Restauration du log de transaction - Fichier .TRN
RESTORE LOG
MgePushPull
FROM
DISK = 'C:\Temp\NotreLogDeTransactionBaseProd.TRN'
WITH
FILE = 1,
RECOVERY,
STOPAT='20060712 02:00:00' -- Date et heure au format SQL Server
------------------------------------------------------
Conclusion :
Bon coding
Romelard Fabrice
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.