Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Cette rubrique explique comment restaurer une sauvegarde différentielle de base de données dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL.
Dans cette rubrique
Avant de commencer :
Pour restaurer une sauvegarde différentielle de base de données, utilisez :
Avant de commencer
Limitations et restrictions
RESTORE n’est pas autorisé dans une transaction explicite ou implicite.
Les sauvegardes créées avec une version plus récente de SQL Server ne peuvent pas être restaurées dans les versions antérieures de SQL Server.
Dans SQL Server, vous pouvez restaurer une base de données utilisateur à partir d’une sauvegarde de base de données créée à l’aide de SQL Server 2005 (9.x) ou version ultérieure.
Prérequis
- Sous le mode de récupération complète ou le mode de récupération en mode blocage minimal, avant de pouvoir restaurer une base de données, vous devez d'abord sauvegarder le journal de transactions actif (appelé la fin du journal). Pour plus d’informations, consultez Sauvegarder un journal des transactions (SQL Server).
Sécurité
autorisations
Si la base de données en cours de restauration n’existe pas, l’utilisateur doit disposer CREATE DATABASE des autorisations nécessaires pour pouvoir s’exécuter RESTORE. Si la base de données existe, RESTORE les autorisations par défaut sont accordées aux membres des rôles serveur fixes sysadmin et dbcreator et au propriétaire (dbo) de la base de données (pour l’option FROM DATABASE_SNAPSHOT, la base de données existe toujours).
RESTORE les autorisations sont accordées aux rôles dans lesquels les informations d’appartenance sont toujours facilement disponibles pour le serveur. Étant donné que l’appartenance au rôle de base de données fixe ne peut être vérifiée que lorsque la base de données est accessible et non endommagée, ce qui n’est pas toujours le cas lorsqu’elle RESTORE est exécutée, les membres du rôle de base de données fixe db_owner n’ont RESTORE pas d’autorisations.
Utilisation de SQL Server Management Studio
Pour restaurer une sauvegarde différentielle de base de données
Après vous être connecté à l’instance appropriée du moteur de base de données Microsoft SQL Server dans l’Explorateur d’objets, cliquez sur le nom du serveur pour en développer l’arborescence.
Développez Bases de données. Selon la base de données, sélectionnez une base de données utilisateur ou développez Bases de données systèmeet sélectionnez une base de données système.
Cliquez avec le bouton droit sur la base de données, pointez sur Tâches, sur Restaurer, puis cliquez sur Base de données.
Dans la page Général , utilisez la section Source pour préciser la source et l'emplacement des jeux de sauvegarde à restaurer. Sélectionnez l’une des options suivantes :
Base de données
Sélectionnez la base de données à restaurer dans la liste déroulante. La liste contient uniquement les bases de données qui ont été sauvegardées selon l'historique de sauvegarde msdb .
Remarque
Si la sauvegarde est prise à partir d'un serveur différent, le serveur de destination ne disposera pas des informations d'historique de sauvegarde pour la base de données spécifiée. Dans ce cas, sélectionnez Unité pour spécifier manuellement le fichier ou l'unité à restaurer.
Appareil
Cliquez sur le bouton Parcourir (...) pour ouvrir la boîte de dialogue Sélectionner les unités de sauvegarde . Dans la zone Type du média de sauvegarde , sélectionnez l'un des types d'unités proposés. Pour sélectionner une ou plusieurs unités pour la zone Support de sauvegarde , cliquez sur Ajouter.
Après avoir ajouté les unités souhaitées à la zone de liste Support de sauvegarde , cliquez sur OK pour revenir à la page Général .
Dans la zone de liste Source : Unité : Base de données , sélectionnez le nom de la base de données à restaurer.
Remarque Cette liste n'est disponible que lorsque Unité est sélectionné. Seules les bases de données qui ont des copies de sauvegarde sur l'unité sélectionnée seront disponibles.
Dans la section Destination , la zone Base de données est automatiquement renseignée avec le nom de la base de données à restaurer. Pour changer le nom de la base de données, entrez le nouveau nom dans la zone Base de données .
Remarque
Pour arrêter la restauration à un moment précis, cliquez sur Chronologie pour accéder à la boîte de dialogue Chronologie de sauvegarde . Pour obtenir de l’aide concernant l’arrêt d’une restauration de base de données à un moment précis dans le temps, consultez Restaurer une base de données SQL Server jusqu’à une limite dans le temps (mode de récupération complète).
Dans la grille Jeux de sauvegarde à restaurer, sélectionnez les sauvegardes jusqu’à la sauvegarde différentielle que vous souhaitez restaurer.
Pour plus d’informations sur les colonnes de la grille Jeux de sauvegarde à restaurer, consultez Restaurer la base de données (page Général).
Dans la page Options , dans le volet Options de restauration , vous pouvez choisir les options suivantes si elles s'appliquent à votre situation :
Remplacer la base de données existante (WITH REPLACE)
Conserver les paramètres de la réplication (WITH KEEP_REPLICATION)
Demander confirmation avant chaque restauration de sauvegarde
Restreindre l'accès à la base de données restaurée (WITH RESTRICTED_USER)
Pour plus d’informations sur ces options, consultez Restaurer la base de données (page Options).
Sélectionnez une option pour la zone État de récupération . Cette zone détermine l'état de la base de données à l'issue de l'opération de restauration.
RESTORE WITH RECOVERY est le comportement par défaut qui laisse la base de données prête à être utilisée en supprimant les transactions non validées. Les journaux des transactions supplémentaires ne peuvent pas être restaurés. Choisissez cette option si vous restaurez toutes les sauvegardes nécessaires maintenant.
RESTORE WITH NORECOVERY qui laisse la base de données non opérationnelle et n’annule pas les transactions non validées. Des journaux de transactions supplémentaires peuvent être restaurés. La base de données ne peut pas être utilisée tant qu'elle n'est pas récupérée.
RESTORE WITH STANDBY qui laisse la base de données en mode lecture seule. Elle annule les transactions non validées, mais enregistre les actions d'annulation dans un fichier afin de rendre réversibles les effets de la récupération.
Pour obtenir des descriptions des options, consultez Restaurer la base de données (page Options).
Les opérations de restauration échoueront s'il existe des connexions actives à la base de données. Activez l’option Fermer les connexions existantes pour garantir que toutes les connexions actives entre Management Studio et la base de données sont fermées.
Sélectionnez Demander confirmation avant chaque restauration de sauvegarde si vous souhaitez être invité entre chaque opération de restauration. Cela n'est généralement pas nécessaire à moins que la base de données ne soit volumineuse et que vous ne souhaitiez surveiller l'état de l'opération de restauration.
Utilisez éventuellement la page Fichiers pour restaurer la base de données à un nouvel emplacement. Pour obtenir de l’aide concernant le déplacement d’une base de données, consultez Restaurer une base de données à un nouvel emplacement (SQL Server).
Cliquez sur OK.
Utilisation de Transact-SQL
Pour restaurer une sauvegarde différentielle de base de données
Exécutez l’instruction RESTOREDATABASE , en spécifiant la clause NORECOVERY, pour restaurer la sauvegarde complète de la base de données fournie avant la sauvegarde différentielle de la base de données. Pour plus d'informations, consultez Procédure : restaurer une sauvegarde complète.
Exécutez l’instruction RESTOREDATABASE pour restaurer la sauvegarde différentielle de base de données, en spécifiant :
le nom de la base de données à laquelle s'applique la sauvegarde différentielle ;
l’unité de sauvegarde à partir de laquelle la sauvegarde différentielle est restaurée ;
La clause NORECOVERY si vous avez des sauvegardes du journal des transactions à appliquer après avoir restauré la sauvegarde différentielle de la base de données. Dans le cas contraire, spécifiez la clause RECOVERY.
Avec le modèle de récupération complet ou le modèle de récupération en mode journalisation en bloc, la restauration d’une sauvegarde différentielle de la base de données restaure celle-ci jusqu’au moment où la sauvegarde différentielle de la base de données a été terminée. Pour restaurer jusqu'au point de défaillance, vous devez appliquer toutes les sauvegardes du journal des transactions créées après la dernière sauvegarde différentielle. Pour plus d’informations, consultez Appliquer les sauvegardes de fichier journal (SQL Server).
Exemples (Transact-SQL)
R : Restauration d'une sauvegarde différentielle de base de données
Cet exemple restaure une base de données et une sauvegarde différentielle de base de données de la base de données MyAdvWorks.
-- Assume the database is lost, and restore full database,
-- specifying the original full database backup and NORECOVERY,
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH NORECOVERY;
GO
-- Now restore the differential database backup, the second backup on
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH FILE = 2,
RECOVERY;
GO
B. Restauration d'une base de données, d'une base de données différentielle et d'une sauvegarde du journal des transactions
Cet exemple illustre la restauration d'une base de données, la sauvegarde différentielle d'une base de données et la sauvegarde du journal des transactions de la base de données MyAdvWorks .
-- Assume the database is lost at this point. Now restore the full
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH NORECOVERY;
GO
-- Now restore the differential database backup, the second backup on
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH FILE = 2,
NORECOVERY;
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
FROM MyAdvWorks_log1
WITH NORECOVERY;
GO
RESTORE LOG MyAdvWorks
FROM MyAdvWorks_log2
WITH RECOVERY;
GO
Tâches associées
Créer une sauvegarde différentielle de base de données (SQL Server)
Restaurer une sauvegarde de journal des transactions (SQL Server)
Voir aussi
Sauvegardes différentielles (SQL Server)
RESTORE (Transact-SQL)