Comment corriger l’état en attente de récupération dans la base de données du serveur SQL ?

Résumé : Dans cette publication, nous allons indiquer comment corriger l’état en attente de récupération dans la base de données de SQL Server. On s’attend à ce qu’un SQL DBA connaisse les réponses à tous les problèmes de base de données. Cependant, les bases de données SQL peuvent être difficiles à gérer, surtout si elles sont confrontées à des problèmes techniques. L’un des problèmes SQL les plus délicats à résoudre est « l’état en attente de récupération dans la base de données SQL ». Étudions ce cas.

États de la base de données SQL

Une base de données SQL est considérée comme endommagée si un ou plusieurs de ses fichiers de base sont dans un état incohérent. Selon la gravité des dommages, la base de données est marquée de différents états. Vérifiez les quelques états ci-dessous :

L’état d’une base de données SQL peut être vérifié en exécutant la requête suivante:

SELECT name, state_desc from sys.databases
GO

La sortie sera :

Principales raisons qui causent « l?état en attente de récupération dans le serveur SQL ».

Le décodage d’où provient une erreur et ce qui la cause est aussi crucial que de trouver une solution sûre pour y remédier. Lorsque la récupération de la base de données est nécessaire mais ne peut pas être lancée, une base de données SQL est marquée à l’état En attente de récupération. Ce genre de situation se produit principalement lorsque :

Méthode manuelle pour corriger l?état « en attente de récupération du serveur SQL »

Il existe 2 méthodes manuelles pour démarrer l’état de récupération en attente dans la base de données du serveur SQL qui a été marquée dans l’état en attente de récupération :

Solution 1 : Marquer la base de données en mode d’urgence et lancer une réparation forcée

  1. Exécutez l’ensemble de requêtes suivant
ALTER DATABASE [DBName] SET EMERGENCY;
GO
ALTER DATABASE [DBName] set single_user
GO
DBCC CHECKDB ([DBName], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO 
ALTER DATABASE [DBName] set multi_user
GO
  1. Le mode URGENCE marque la base de données comme LECTURE_SEULE, désactive la journalisation et n’accorde l’accès qu’aux administrateurs système.
  2. Cela devrait résoudre tout problème de corruption et mettre la base de données en ligne. La base de données quitte automatiquement le mode URGENCE.

Solution 2 : Marquer la base de données en mode Urgence, détacher la base de données principale et la rattacher à nouveau

  1. Exécutez l’ensemble de requêtes suivant :
ALTER DATABASE [DBName] SET EMERGENCY;
ALTER DATABASE [DBName] set multi_user
EXEC sp_detach_db ?[DBName]?
EXEC sp_attach_single_file_db @DBName = ?[DBName]?, @physname = N'[mdf path]?
  1. Ces commandes permettront au serveur de se débarrasser du journal corrompu et d’en construire un nouveau automatiquement.

Remarque : Avant d’entreprendre l’une de ces procédures de réparation, vous devez vous assurer d’avoir des sauvegardes appropriées de la base de données en question. C’est pour avoir une copie de sécurité au cas où quelque chose tournerait mal. N’oubliez pas non plus qu’il s’agit de procédures très techniques et que vous ne devriez pas les exécuter si vous n’êtes pas certain ou si vous n’avez pas l’expertise technique appropriée.

Une meilleure approche

Si vous n’êtes pas un pro des erreurs de base de données SQL, évitez d’aggraver le problème et optez pour une solution tierce sécurisée, fiable et automatisée. Utilisez le logiciel Stellar Repair for MS SQL pour réparer les fichiers de base de données SQL corrompus et remettre la base de données en ligne rapidement et sans obstacles.

Pourquoi Stellar Repair for MS SQL ?

  1. Les Microsoft MVPs font confiance au logiciel
  2. Stellar Data Recovery est le partenaire Gold de Microsoft
  3. Le logiciel est 100% sécurisé par Norton
  4. Livraison instantanée par e-mail
  5. Garantie de remboursement à 100%.

Caractéristiques

  1. Il prend en charge MS SQL 2017, 2016, 2014, 2012, 2008 et toutes les versions inférieures. Avec cela, le logiciel de récupération SQL est compatible avec Windows 10 / 8 /  8.1 / 7 / Vista / XP et Windows Server 2012 / 2008 / 2003.
  2. Le logiciel corrige les corruptions mineures et majeures dans la base de données SQL et vous aide à récupérer les objets inaccessibles à partir des fichiers de la base de données.
  3. Le logiciel analyse les fichiers de base de données corrompus et extrait toutes les informations vitales comme les tableaux, les déclencheurs, les index, les clés, les règles, les schémas et les valeurs par défaut.
  4. La récupération des enregistrements supprimés est possible.
  5. Possibilité d’enregistrer la base de données dans New database et Live database.

Conclusion :

Nous avons parcouru le manuel et les meilleures méthodes alternatives pour le scénario « État en attente de récupération dans le serveur SQL » et nous savons qu’il peut y avoir de nombreuses raisons pour qu’une base de données SQL soit hors ligne. Pour tout utilisateur SQL ou DBA, l’une des tâches importantes est de savoir comment éviter les erreurs SQL fréquentes et de remettre la base de données en ligne au plus tôt. Ainsi, des outils comme Stellar Repair for MS SQL sont indispensables pour tous les administrateurs de bases de données SQL pour restaurer et gérer leur base de données avec succès à partir d’une base de données SQL en attente de récupération.

Related Post