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.
Cette rubrique explique comment restaurer une base de données SQL Server à un nouvel emplacement et éventuellement renommer la base de données dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL. Vous pouvez déplacer une base de données vers un nouveau chemin d’accès au répertoire ou créer une copie d’une base de données sur la même instance de serveur ou une autre instance de serveur.
Dans cette rubrique
Avant de commencer :
Pour restaurer une base de données à un nouvel emplacement et éventuellement renommer la base de données à l’aide de :
Avant de commencer
Limitations et restrictions
- L’administrateur système qui restaure une sauvegarde complète de base de données doit être la seule personne qui utilise actuellement la base de données à restaurer.
Conditions préalables
- Sous le modèle de récupération complète ou journalisée en bloc, avant de pouvoir restaurer une base de données, vous devez sauvegarder le journal des transactions actif. Pour plus d’informations, consultez Sauvegarder un journal des transactions (SQL Server).
Recommandations
Pour restaurer une base de données chiffrée, vous devez avoir accès au certificat ou à la clé asymétrique utilisée pour chiffrer la base de données. Sans le certificat ou la clé asymétrique, la base de données ne peut pas être restaurée. Par conséquent, le certificat utilisé pour chiffrer la clé de chiffrement de base de données doit être conservé tant que la sauvegarde est nécessaire. Pour plus d'informations, consultez SQL Server Certificates and Asymmetric Keys.
Pour plus d’informations sur les considérations supplémentaires relatives au déplacement d’une base de données, consultez Copier des bases de données avec sauvegarde et restauration.
Si vous restaurez une base de données SQL Server 2005 ou ultérieure vers SQL Server 2014, la base de données est automatiquement mise à niveau. En règle générale, la base de données devient disponible immédiatement. Toutefois, si une base de données SQL Server 2005 a des index de recherche en texte intégral, le processus de mise à niveau importe, réinitialise ou régénère ces derniers, selon le paramètre de la propriété du serveur upgrade_option . Si l’option de mise à niveau est définie pour importer (upgrade_option = 2) ou reconstruire (upgrade_option = 0), les index de recherche en texte intégral ne sont pas disponibles pendant la mise à niveau. Selon la quantité de données indexées, l’importation peut prendre plusieurs heures et la reconstruction peut prendre jusqu’à dix fois plus de temps. Notez également que lorsque l’option de mise à niveau est définie pour importer, les index de recherche en texte intégral associés sont reconstruits si un catalogue de texte intégral n’est pas disponible. Pour modifier le paramètre de la propriété du serveur upgrade_option , utilisez sp_fulltext_service.
Sécurité
À des fins de sécurité, nous vous recommandons de ne pas attacher ou restaurer des bases de données à partir de sources inconnues ou non approuvées. Ces bases de données peuvent contenir du code malveillant susceptible d'exécuter du code Transact-SQL indésirable ou de provoquer des erreurs en modifiant le schéma ou la structure physique des bases de données. Avant d’utiliser une base de données à partir d’une source inconnue ou non approuvée, exécutez DBCC CHECKDB sur la base de données sur un serveur hors production et examinez également le code, tel que des procédures stockées ou d’autres codes définis par l’utilisateur, dans la base de données.
Autorisations
Si la base de données en cours de restauration n’existe pas, l’utilisateur doit disposer des autorisations CREATE DATABASE pour pouvoir exécuter RESTORE. Si la base de données existe, les autorisations RESTORE sont par défaut accordées aux membres des rôles serveur fixes sysadmin et dbcreator et au propriétaire (dbo) de la base de données.
Les autorisations RESTORE 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 lorsque RESTORE est exécuté, les membres du rôle de base de données fixe db_owner n’ont pas d’autorisations RESTORE.
Utilisation de SQL Server Management Studio
Pour restaurer une base de données à un nouvel emplacement et éventuellement renommer la base de données
Connectez-vous à l’instance appropriée du moteur de base de données SQL Server, puis dans l’Explorateur d’objets, cliquez sur le nom du serveur pour développer l’arborescence du serveur.
Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Restaurer la base de données. La boîte de dialogue Restaurer la base de données s’ouvre.
Dans la page Général , utilisez la section Source pour spécifier 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 sauvegardées en fonction de l’historique de sauvegarde msdb .
Remarque
Si la sauvegarde est effectuée à partir d’un autre serveur, le serveur de destination ne dispose pas des informations d’historique de sauvegarde pour la base de données spécifiée. Dans ce cas, sélectionnez Appareil pour spécifier manuellement le fichier ou l’appareil à restaurer.
Appareil
Cliquez sur le bouton Parcourir (...) pour ouvrir la boîte de dialogue Sélectionner des appareils de sauvegarde . Dans la zone Type de support de sauvegarde , sélectionnez l’un des types d’appareils répertoriés. Pour sélectionner un ou plusieurs appareils pour la zone de support de sauvegarde , cliquez sur Ajouter.
Après avoir ajouté les appareils que vous souhaitez dans la zone de liste des supports de sauvegarde , cliquez sur OK pour revenir à la page Général .
Dans la zone de liste Source : Appareil : Base de données , sélectionnez le nom de la base de données qui doit être restaurée.
Note Cette liste est disponible uniquement lorsque l’appareil est sélectionné. Seules les bases de données qui ont des sauvegardes sur l’appareil sélectionné 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 modifier le nom de la base de données, entrez le nouveau nom dans la zone Base de données .
Dans la zone Restaurer sur , conservez la valeur par défaut sur La dernière sauvegarde effectuée ou cliquez sur Chronologie pour accéder à la boîte de dialogue Chronologie de sauvegarde pour sélectionner manuellement un point dans le temps pour arrêter l’action de récupération. Consultez la chronologie de sauvegarde pour plus d’informations sur la conception d’un point spécifique dans le temps.
Dans la grille Jeux de sauvegarde à restaurer, sélectionnez les sauvegardes à restaurer. Cette grille affiche les sauvegardes disponibles pour l’emplacement spécifié. Par défaut, un plan de récupération est suggéré. Pour remplacer le plan de récupération suggéré, vous pouvez modifier les sélections dans la grille. Les sauvegardes qui dépendent de la restauration d’une sauvegarde antérieure sont automatiquement désélectionnées lorsque la sauvegarde précédente est désélectionnée.
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).
Pour spécifier le nouvel emplacement des fichiers de base de données, sélectionnez la page Fichiers , puis cliquez sur Déplacer tous les fichiers vers le dossier. Fournissez un nouvel emplacement pour le dossier de fichiers de données et le dossier fichier journal. Pour plus d’informations sur cette grille, consultez Restaurer la base de données (page Fichiers).
Dans la page Options , ajustez les options si vous le souhaitez. Pour plus d’informations sur ces options, consultez Restaurer la base de données (page Options).
Utilisation de Transact-SQL
Pour restaurer une base de données à un nouvel emplacement et éventuellement renommer la base de données
Si vous le souhaitez, déterminez les noms logiques et physiques des fichiers dans le jeu de sauvegarde qui contient la sauvegarde complète de la base de données que vous souhaitez restaurer. Cette instruction retourne une liste des fichiers de base de données et journaux contenus dans le jeu de sauvegarde. La syntaxe de base est la suivante :
RESTORE FILELISTONLY FROM <backup_device> WITH FILE = backup_set_file_number
Ici, backup_set_file_number indique la position de la sauvegarde dans le support. Vous pouvez obtenir la position d'un jeu de sauvegarde en utilisant l'instruction RESTORE HEADERONLY. Pour plus d’informations, consultez « Spécification d’un jeu de sauvegarde » dans les arguments RESTORE (Transact-SQL).
Cette instruction prend également en charge différentes options WITH. Pour plus d’informations, consultez RESTORE FILELISTONLY (Transact-SQL).
Utilisez l’instruction RESTORE DATABASE pour restaurer la sauvegarde complète de la base de données. Par défaut, les fichiers de données et les fichiers journaux sont restaurés à leurs emplacements d’origine. Pour déplacer une base de données, utilisez l’option MOVE pour déplacer chacun des fichiers de base de données et éviter les collisions avec les fichiers existants.
La syntaxe de base Transact-SQL pour restaurer la base de données à un nouvel emplacement et un nouveau nom est :
RESTORE DATABASE new_database_name
FROM backup_device [ ,... n ]
AVEC
{
[ RECOVERY | NORECOVERY ]
[ , ] [ FILE ={ backup_set_file_number | @backup_set_file_number } ]
[ , ] DÉPLACER 'logical_file_name_in_backup' VERS 'operating_system_file_name' [ ,... n ]
}
;
Remarque
Lorsque vous préparez à déplacer une base de données sur un autre disque, vous devez vérifier que l’espace suffisant est disponible et identifier les collisions potentielles avec les fichiers existants. Cela implique l’utilisation d’une instruction RESTORE VERIFYONLY qui spécifie les mêmes paramètres MOVE que ceux que vous envisagez d’utiliser dans votre instruction RESTORE DATABASE.
Le tableau suivant décrit les arguments de cette instruction RESTORE en termes de restauration d’une base de données à un nouvel emplacement. Pour plus d’informations sur ces arguments, consultez RESTORE (Transact-SQL).
new_database_name
Nouveau nom de la base de données.Remarque
Si vous restaurez la base de données sur une autre instance de serveur, vous pouvez utiliser le nom de la base de données d’origine au lieu d’un nouveau nom.
backup_device [
,... n ]
Spécifie une liste séparée par des virgules de 1 à 64 périphériques de sauvegarde à partir desquels la sauvegarde de base de données doit être restaurée. Vous pouvez spécifier un périphérique de sauvegarde physique ou spécifier un périphérique de sauvegarde logique correspondant, s’il est défini. Pour spécifier un périphérique de sauvegarde physique, utilisez l’option DISK ou TAPE :{ DISQUE | BANDE }
=physical_backup_device_namePour plus d’informations, consultez Périphériques de sauvegarde (SQL Server).
{ RECOVERY | NORECOVERY }
Si la base de données utilise le modèle de récupération complète, vous devrez peut-être appliquer des sauvegardes de journal des transactions après la restauration de la base de données. Dans ce cas, spécifiez l’option NORECOVERY.Sinon, utilisez l’option RECOVERY, qui est la valeur par défaut.
FILE = { backup_set_file_number | @backup_set_file_number }
Identifie le jeu de sauvegarde à restaurer. Par exemple, une backup_set_file_number de 1 indique le premier jeu de sauvegarde sur le support de sauvegarde et une backup_set_file_number de 2 indique le deuxième jeu de sauvegarde. Vous pouvez obtenir la backup_set_file_number d’un ensemble de sauvegarde à l’aide de l’instruction RESTORE HEADERONLY.Lorsque cette option n’est pas spécifiée, la valeur par défaut consiste à utiliser le premier ensemble de sauvegarde sur le support de sauvegarde.
Pour plus d’informations, consultez « Spécification d’un ensemble de sauvegarde » dans les arguments RESTORE (Transact-SQL).
DÉPLACER '
logical_file_name_in_backup' À 'operating_system_file_name' [,... n ]
Spécifie que le fichier de données ou de journal spécifié par logical_file_name_in_backup doit être restauré à l’emplacement spécifié par operating_system_file_name. Spécifiez une instruction MOVE pour chaque fichier logique que vous souhaitez restaurer à partir de l'ensemble de sauvegarde vers un nouveau emplacement.Choix Descriptif nom_de_fichier_logique_dans_sauvegarde Spécifie le nom logique d’un fichier de données ou de journal dans le jeu de sauvegarde. Le nom de fichier logique d’un fichier de données ou d’un fichier journal dans un jeu de sauvegarde correspond à son nom logique dans la base de données lors de la création du jeu de sauvegarde.
Remarque : Pour obtenir la liste des fichiers logiques du jeu de sauvegarde, utilisez RESTORE FILELISTONLY.nom_de_fichier_du_système_d'exploitation Spécifie un nouvel emplacement pour le fichier spécifié par logical_file_name_in_backup. Le fichier sera restauré à cet emplacement.
Si vous le souhaitez, operating_system_file_name spécifie un nouveau nom de fichier pour le fichier restauré. Cela est nécessaire si vous créez une copie d’une base de données existante sur la même instance de serveur.n Espace réservé indiquant que vous pouvez spécifier des instructions MOVE supplémentaires.
Exemple (Transact-SQL)
Cet exemple crée une base de données nommée MyAdvWorks en restaurant une sauvegarde de l’exemple de base de données AdventureWorks2012 , qui inclut deux fichiers : AdventureWorks2012_Data et AdventureWorks2012_Log. Cette base de données utilise le modèle de récupération simple. La base de données AdventureWorks2012 existe déjà sur l’instance de serveur. Les fichiers de la sauvegarde doivent donc être restaurés dans un nouvel emplacement. L’instruction RESTORE FILELISTONLY permet de déterminer le nombre et les noms des fichiers de la base de données en cours de restauration. La sauvegarde de la base de données est le premier jeu de sauvegarde sur le dispositif de sauvegarde.
Remarque
Les exemples de sauvegarde et de restauration du journal des transactions, y compris les restaurations dans le temps, utilisent la MyAdvWorks_FullRM base de données créée à partir d’AdventureWorks2012 comme dans l’exemple suivant MyAdvWorks . Toutefois, la base de données résultante MyAdvWorks_FullRM doit être modifiée pour utiliser le modèle de récupération complète à l’aide de l’instruction Transact-SQL suivante : ALTER DATABASE <database_name> SET RECOVERY FULL.
USE master;
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks2012_Backup is the name of the backup device.
RESTORE FILELISTONLY
FROM AdventureWorks2012_Backup;
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
FROM AdventureWorks2012_Backup
WITH RECOVERY,
MOVE 'AdventureWorks2012_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',
MOVE 'AdventureWorks2012_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf';
GO
Pour obtenir un exemple de création d’une sauvegarde complète de base de données de la base de données AdventureWorks2012, consultez Créer une sauvegarde complète de base de données (SQL Server).
Tâches associées
Créer une sauvegarde complète de base de données (SQL Server)
Restaurer une sauvegarde de base de données (SQL Server Management Studio)
Restaurer une sauvegarde de journal des transactions (SQL Server)
Voir aussi
Gérer les métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur (SQL Server)
RESTORE (Transact-SQL)
Copier des bases de données avec sauvegarde et restauration