Comment corriger l’erreur “La base de données ne peut pas être récupérée car le journal n’a pas été restauré” ?

Summary: Votre base de données SQL Server est bloquée dans l'état RESTORING et renvoie l'erreur "La base de données ne peut pas être récupérée car le journal n'a pas été restauré". Dans cet article, découvrez les raisons possibles de cette erreur SQL Server et les solutions pour la résoudre. Vous découvrirez également d'autres problèmes susceptibles de survenir au cours du processus de restauration. Vous découvrirez également un outil de récupération SQL avancé qui peut aider à restaurer une base de données sql server sans perte de données.

Parfois, lorsque vous tentez de restaurer une base de données sql server Server, vous rencontrez une situation où la base de données est bloquée dans l’état de restauration et affiche le message d’erreur suivant :

Msg 4333, Niveau 16, État 1, Ligne 1

La base de données ne peut pas être récupérée car le journal n’a pas été restauré.

Msg 3013, Niveau 16, État 1, Ligne 1

RESTORE DATABASE se termine anormalement.

Quelle est la cause de l’erreur ?

Il n’y a pas de raisons connues pour expliquer cette erreur. Cependant, l’erreur peut se produire pour l’une des raisons suivantes :

Comment corriger l’erreur ?

Remarque : avant de procéder, assurez-vous que le serveur dispose d’un espace disque suffisant, puis essayez de restaurer la base de données. Si vous n’avez pas de problème d’espace disque, suivez la solution décrite ci-dessous.

Pour résoudre le problème, essayez de supprimer la base de données problématique et de la restaurer à nouveau. Pour ce faire, exécutez la commande suivante dans la fenêtre de requête de SQL Server Management Studio (SSMS) :

Remarque : si vous ne pouvez pas supprimer la base de données, essayez de la détacher à l’aide de la procédure stockée sp_detach_db. Si la procédure stockée renvoie l’erreur a base de données est utilisée”“, vous pouvez utiliser la commande dbcc detachdb pour détacher la base de données. Cependant, vous devez être prudent car il s’agit d’une commande non documentée.

USE [master]

GO

– Créer à nouveau la base de données avec le même nom que l’original

CREATE DATABASE [database_name] ;

– restaurer la base de données à l’aide des scripts de sauvegarde habituels

RESTORE DATABASE nom_de_la_base

FROM DISK = ‘saisir le chemin du fichier .bak’

AVEC LA RÉCUPÉRATION

Remarque : si vous devez restaurer plusieurs fichiers de base de données, exécutez la commande RESTORE AVEC l’option NORECOVERY. Pour le dernier fichier de base de données, exécutez la commande RESTORE AVEC RECOVERY.

Que faire si la base de données devient inaccessible ?

Si vous pouvez restaurer la base de données mais qu’elle n’est plus accessible et qu’elle est marquée comme SUSPECT, vous devrez la réparer. N’oubliez pas que vous ne pouvez pas réparer une base de données SUSPECT. Vous devez d’abord rendre la base de données accessible en la plaçant en mode URGENCE. Pour ce faire, exécutez la commande suivante :

ALTER DATABASE nom_de_la_base SET EMERGENCY

Une fois la base de données accessible, il est essentiel que vous ayez un accès exclusif à la base de données. Définissez donc l’état de la base de données en mode SINGLE_USER et exécutez DBCC CHECKDB avec l’option ‘REPAIR_ALLOW_DATA_LOSS’.

ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CHECKDB (‘nom_de_la_base_de_données’,REPAIR_ALLOW_DATA_LOSS)

Ensuite, remettez la base de données en mode MULTI_USER en exécutant la commande suivante :

ALTER DATABASE nom_de_la_base SET MULTI_USER

Lire en détail :  Comment restaurer une base de données SQL server  en mode suspect ?

Actualisez la base de données et vérifiez si vous pouvez y accéder.

Si la base de données est toujours inaccessible et que vous devez éviter toute perte de données, utilisez un outil de récupération SQL qui peut vous aider à restaurer la base de données tout en conservant ses données intactes. Vous pouvez utiliser Stellar Repair for MS SQL pour réparer le fichier de base de données (MDF) et le restaurer à son état d’origine. De plus, le logiciel aide à restaurer la base de données avec une vitesse 8X en vous permettant de sauvegarder plusieurs (jusqu’à 8 tables) simultanément.

Le logiciel peut également aider à restaurer les enregistrements supprimés d’une base de données SQL Server. En outre, vous pouvez prévisualiser les composants réparés avant de les enregistrer dans une base de données existante, une nouvelle base de données ou d’autres formats de fichiers (CSV, HTML ou XLS).

Conclusion

Si vous obtenez l’erreur “La base de données ne peut pas être récupérée car le journal n’a pas été restauré”, l’abandon de la base de données et sa restauration à partir d’une sauvegarde peuvent aider à résoudre l’erreur. Si la restauration échoue ou si la base de données est devenue inaccessible, essayez de réparer la base de données à l’aide de la commande DBCC CHECKDB avec la commande REPAIR_ALLOW_DATA_LOSS. Si cela ne suffit pas, vous pouvez utiliser le logiciel Stellar Repair for MS SQL pour réparer et restaurer une base de données SQL Server.

Related Post

Exit mobile version