Vous souhaitez restaurer une base de données SQL Server à partir d’une sauvegarde ? Ce tuto sur la restauration d’une bdd SQL vous explique comment procéder étape par étape. Suivez le guide !
Vous savez créer une base de données avec SQL, cet article vous montre maintenant plusieurs façons de restaurer une sauvegarde de base de données SQL Server. En particulier, nous allons voir comment restaurer une base de données :
- en utilisant les commandes T-SQL
- en utilisant SQL Server Management Studio
- en utilisant l’application SQLBackupAndFTP
Sommaire :
Comment restaurer une base de données SQL Server à partir d’une sauvegarde en utilisant les commandes T-SQL
La commande RESTORE DATABASE est le moyen le plus basique et universel de restaurer les sauvegardes de SQL Server puisque les commandes T-SQL fonctionnent partout, que vous les tapiez dans SQL Server Management Studio, que vous les exécutiez via l’utilitaire sqlcmd ou que vous les lanciez depuis votre programme. Passons en revue les commandes utilisées pour restaurer trois types de sauvegarde : les sauvegardes complètes, différentielles et du journal des transactions.
Restauration d’une sauvegarde complète de la base de données SQL Server avec des fichiers Bak
Les sauvegardes complètes contiennent toutes les informations nécessaires pour restaurer votre base de données au moment où le processus de sauvegarde s’est terminé. La sauvegarde va écraser votre base de données si elle existe ou produire une nouvelle base de données SQL Server. Imaginons que votre sauvegarde complète soit stockée dans C:\Projet_SQL_sauvegarde_full..bak et que vous souhaitiez la restaurer dans la base de données Projet_SQL_sauvegarde. Vous devez exécuter les commandes suivantes :
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'C:\Projet_SQL_sauvegarde_full.bak'
Si vous voulez continuer à restaurer des sauvegardes différentielles ou des journaux de transactions après cela, vous devez ajouter l’option NORECOVERY. Cela laissera le processus de sauvegarde dans un état de restauration et vous permettra de restaurer des sauvegardes différentielles ou du journal des transactions supplémentaires. Vous pourrez ainsi facilement importer une base de données SQL facilement.
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'C:\Projet_SQL_sauvegarde_full' WITH NORECOVERY
Restauration d’une sauvegarde différentielle de base de données SQL Server
Les sauvegardes différentielles contiennent les changements qui ont eu lieu dans la base de données depuis la dernière sauvegarde complète. La dernière sauvegarde différentielle accumule tous les changements, donc vous n’avez pas besoin de toutes les sauvegardes différentielles précédentes pour restaurer une base de données, juste de la dernière. Avant de restaurer la sauvegarde différentielle, vous devez d’abord restaurer la dernière sauvegarde complète avec l’option NORECOVERY et ensuite la dernière sauvegarde différentielle avec l’option RECOVERY :
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_full.bak' WITH NORECOVERY
GO
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_diff.dif' WITH RECOVERY
GO
Restauration de la sauvegarde du journal des transactions de la base de données SQL Server
Les sauvegardes du journal des transactions contiennent toutes les transactions qui ont eu lieu entre la dernière sauvegarde du journal des transactions (ou la première sauvegarde complète) et le moment où le processus de sauvegarde s’est terminé. Vous devez restaurer toutes les sauvegardes du journal des transactions effectuées après la dernière sauvegarde différentielle dans la même séquence qu’elles ont été effectuées. Et, évidemment, les sauvegardes du journal sont restaurées après que vous ayez terminé les sauvegardes complètes et différentielles (en savoir plus sur la restauration ponctuelle) :
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_full.bak' WITH NORECOVERY
GO
RESTORE DATABASE Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_diff.dif' WITH NORECOVERY
GO
RESTORE LOG Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_log1.trn' WITH NORECOVERY
GO
RESTORE LOG Projet_SQL_sauvegarde FROM DISK = 'D:\Projet_SQL_sauvegarde_log2.trn' WITH RECOVERY
GO
Comment restaurer une base de données à partir d’une sauvegarde en utilisant SQL Server Management Studio
Si vous avez installé SQL Server Management Studio, vous pouvez restaurer la sauvegarde d’une base de données en utilisant uniquement son interface. Il suffit de suivre les instructions :
- Connectez-vous à votre serveur SQL, cliquez avec le bouton droit de la souris sur le répertoire « Databases », et choisissez « Restore Database ».
- Cliquez sur le bouton sous la section « Source » à côté de « Device ».
- Dans la section « Sélectionner le périphérique de sauvegarde », cliquez sur « Ajouter ». 4.
- Sélectionnez le ou les fichiers de sauvegarde (.bak) que vous allez restaurer, puis cliquez sur « OK ».
- Dans la fenêtre « Restore Database », spécifiez le nom de la base de données que vous allez restaurer et cliquez sur « OK » pour lancer les options de restauration.
Comment restaurer une base de données SQL Server en utilisant SQLBackupAndFTP
Si vous utilisez SQLBackupAndFTP pour créer des sauvegardes de SQL Server, vous pouvez les restaurer directement depuis le panneau d’historique :
Pour restaurer sur le même serveur où les sauvegardes ont été prises, dans la section Historique et restauration de SQLBackupAndFTP, sélectionnez la sauvegarde que vous voulez restaurer, cliquez sur le bouton des points sur cette ligne, sélectionnez « Restaurer depuis la sauvegarde… » et suivez les étapes.
La bonne chose ici est que vous pouvez choisir n’importe quelle sauvegarde de n’importe quel type (complète, différentielle, ou journal) et toutes les autres sauvegardes nécessaires seront restaurées automatiquement.
Si vous avez besoin de restaurer d’autres sauvegardes qui ont été faites via SQLBackupAndFTP, ou la commande standard T-SQL « CREATE BACKUP », ou un script SQL ou un fichier .bacpac, alors, avec les étapes suivantes, vous pouvez créer une « tâche de restauration », pour le faire :
- Choisissez un endroit où vos sauvegardes sont stockées
- Sélectionnez une base de données à restaurer
- Connectez-vous au serveur sur lequel vous devez restaurer les sauvegardes.
- Cliquez sur « Exécuter maintenant ».
- Vous pouvez également définir l’option de notification par e-mail, définir un mot de passe si vos sauvegardes sont cryptées, et spécifier un dossier temporaire.
La seule exigence est que le nom d’une sauvegarde doit respecter le format suivant :
{Nom de la base de données}{AAAA}{MM}{JJ}{hh}{mm} [log|diff]. [sql|bacpac|7z|zip|bak]
Vous savez maintenant restaurer une base de données SQL Serveur de différentes manières. À vous de jouer !
Vous pouvez consulter notre guide complet pour d’autres tutos SQL.