Comment effectuer une restauration de Serveur MS SQL avec RECOVERY et une restauration avec NORECOVERY?

Résumé: Ce blog abordera comment restaurer une base de données avec les options RECOVERY et NORECOVERY. La restauration de la base de données avec l’option RECOVERY est l’option par défaut pour les utilisateurs avec une sauvegarde complète. Cependant, si vous avez différents types de sauvegardes (différentielles, transactionnelles, etc.), vous devrez peut-être utiliser l’option NORECOVERY pour combiner les sauvegardes. Vous pouvez également essayer de restaurer la base de données SQL dans sa forme originale à l’aide du logiciel Stellar Repair for MS SQL. Téléchargez la version de démonstration du logiciel pour avoir un aperçu des objets de la base de données récupérables.

Pour éviter la perte de données et récupérer une base de données SQL Server après un désastre, un DBA doit restaurer les sauvegardes de la base de données. Lorsqu’il s’agit de restaurer une base de données à partir d’une sauvegarde, il existe deux options principales que le DBA peut utiliser : ‘Avec RECOVERY’ et ‘Avec NORECOVERY’.

Comment récupérer une base de données SQL avec RECOVERY et avec NORECOVERY?

Exigences:

Avant d’effectuer la récupération d’une base de données SQL Server à l’aide des options RECOVERY et NORECOVERY, les éléments suivants doivent être installés sur votre système.

Pour commencer

Avant de restaurer la base de données, assurez-vous de créer d’abord une sauvegarde de la base de données. Vous pouvez créer la sauvegarde en utilisant SSMS ou T-SQL.

Étapes pour créer une sauvegarde de la base de données SQL en utilisant SSMS

Remarque: Vous pouvez également effectuer d’autres types de sauvegardes, comme les sauvegardes différentielles et transactionnelles.

Étapes pour créer une sauvegarde de base de données SQL en utilisant T-SQL dans SSMS

Vous pouvez générer un script de sauvegarde T-SQL pour effectuer une tâche de sauvegarde en utilisant SSMS. Pour ce faire, suivez les étapes suivantes:

Pour automatiser le processus de sauvegarde au lieu de le configurer manuellement, exécutez le code T-SQL suivant:

BACKUP DATABASE [sales] TO  DISK = N'c:\sql\sales.bak' WITH NOFORMAT, NOINIT,  NAME = N'earnings-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10 
GO

Cette option permet de créer la sauvegarde dans une tâche. Un travail est un groupe d’opérations que vous pouvez exécuter dans l’Agent SQL Server. L’agent du serveur SQL est un composant du serveur SQL avec son propre service utilisé pour exécuter des travaux.

Restauration du serveur SQL avec Recovery et avec NORECOVERY

Voyons ces deux options en détail:

Option RECOVERY

La récupération est l’option par défaut. Cette option effectue un retour en arrière et un retour en avant. Utilisez cette option lorsque vous devez restaurer une base de données à partir d’une sauvegarde PLEINE. Suivez ces étapes pour restaurer une base de données avec récupération dans les versions SQL Server 2008 et supérieures:

RESTORE DATABASE [earnings] FROM  DISK = N'c:\sql\earnings.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 5, RECOVERY
GO

Dans cet exemple, il n’est pas nécessaire d’utiliser l’argument RECOVERY qui est celui par défaut, mais je l’ai ajouté pour comprendre la différence par rapport à l’autre option.

Avec l’option NORECOVERY

Utilisez l’option NORECOVERY lorsque vous devez restaurer plusieurs sauvegardes. Elle place la base de données dans l’état ‘RESTORING’ pour empêcher les utilisateurs d’accéder à la base de données à moins que des sauvegardes supplémentaires ne soient restaurées. L’option Restore with NORECOVERY est utilisée pour restaurer chaque sauvegarde de la base de données sauf la dernière. La dernière sauvegarde peut être restaurée en utilisant l’option RECOVERY pour mettre la base de données en ligne pour l’utilisation.

Par exemple, si vous devez restaurer une sauvegarde complète de la base de données suivie d’une sauvegarde du journal des transactions, la sauvegarde complète sera restaurée avec l’argument NORECOVERY, puis la sauvegarde du journal sera restaurée avec la récupération. Voici comment procéder:

RESTORE DATABASE [earnings] FROM  DISK = N'c:\sql\earnings.bak' WITH  FILE = 2,  NORECOVERY,  NOUNLOAD,  STATS = 5
RESTORE LOG [earnings] FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\earnings_LogBackup_2018-12-21_12-24-25.bak' AVEC FICHIER = 1,  TELECHARGER,  STATISTIQUES = 5, RECOVERY

Remarque: Dans la requête ci-dessus, la première commande restaure la base de données avec l’option NORECOVERY, et la seconde commande restaure la sauvegarde du journal en utilisant l’option RECOVERY.

Autres options pour restaurer les données

Si vous n’avez pas de sauvegarde ou si elle est endommagée, vous pouvez utiliser un logiciel de récupération SQL, tel que Stellar Repair for MS SQL pour restaurer vos données. Ce logiciel permet de réparer une base de données SQL endommagée (corrompue) et de la restaurer dans son état d’origine. Vous pouvez télécharger le logiciel à partir d’ici:

Pour utiliser ce logiciel, il vous suffit de sélectionner le fichier MDF et de le réparer. Une fois le fichier réparé, vous pouvez l’utiliser pour restaurer votre base de données SQL.

Pour connaître les étapes détaillées de la restauration de la base de données à l’aide du logiciel Stellar Repair for MS SQL, reportez-vous à ce lien.

Conclusion

Ce blog présente les étapes de la création manuelle de sauvegardes à l’aide de SSMS et du code T-SQL. Il aborde également le processus de restauration d’une base de données MS SQL à l’aide des options RECOVERY et NORECOVERY. Enfin, il explique comment utiliser le logiciel Stellar Repair for MS SQL pour réparer une base de données SQL Server endommagée. Si vous avez des questions, n’hésitez pas à les poser dans la boîte de commentaires ci-dessous.

Related Post