Table des matières
    Réparation de la base de données SQL

    Comment réparer une base de données SQL Server en mode récupération ?


    Table des matières

      Résumé: ce blog traite des causes courantes du problème "Base de données SQL Server bloquée en mode de récupération". Il décrit également comment dépanner et résoudre ce problème. Si le processus de récupération ne parvient pas à mettre la base de données en ligne, essayez d'utiliser un outil de récupération SQL pour retrouver l'accès à la base de données, sans temps d'arrêt prolongé.

      Lors du redémarrage du serveur SQL ou des services après l’arrêt de la base de données SQL, le crash du serveur ou la corruption de la base de données, la base de données passe automatiquement à l’état de “récupération”. La base de données est mise en ligne une fois le processus de récupération terminé. Toutefois, si la récupération de la base de données prend trop de temps, il est important de savoir pourquoi la base de données est bloquée dans la récupération.

      Quelle est la cause du blocage de la base de données SQL Server en mode de récupération ?

      Vous pouvez consulter le journal des erreurs de SQL Server pour connaître la cause du problème de base de données bloquée en mode RECOVERY. Les causes courantes de ce problème sont les suivantes

      • Il se peut que vous restauriez la base de données à partir de sauvegardes complètes, différentielles et de journaux avec l’option NORECOVERY activée, mais que RECOVERY ne soit pas spécifié lors de la dernière restauration.
      • Selon MSDN, le journal des transactions peut se remplir lorsqu’une base de données est en cours de récupération. SQL Server arrête toutes les transactions en cours jusqu’à ce que l’espace de stockage du journal soit libéré, ce qui ralentit la récupération de la base de données. Plusieurs fichiers journaux virtuels (VLF) dans un journal des transactions peuvent également ralentir le processus de récupération.
      • Le processus de récupération peut s’arrêter si votre base de données est endommagée ou si elle est corrompue.

      Résolution du problème ‘Base de données SQL Server en mode de récupération’.

      Voici quelques conseils de dépannage simples pour résoudre le problème de la base de données SQL Server en mode de récupération :

      Conseil 1 – Restaurer la base de données avec RECOVERY

      Remarque : L’exécution de l’option “RESTORE avec récupération” oblige la base de données à repasser par les mêmes étapes de récupération. Évitez cette option si votre base de données est volumineuse.

      Exécutez la requête suivante pour remettre votre base de données en ligne :

      RESTORE DATABASE db_name WITH RECOVERY ;

      La requête annule toutes les transactions non validées et sort la base de données du mode de récupération.

      Conseil 2 – Appliquer les correctifs de Microsoft

      Si vous avez trop de VLF dans le journal des transactions, ce qui ralentit la récupération de la base de données, l’application des correctifs de Microsoft peut vous aider.

      Conseil 3 – Exécuter DBCC CHECKDB pour déterminer la corruption de la base de données

      Exécutez DBCC CHECKDB sur la base de données problématique. S’il signale des erreurs de cohérence, vous devez réparer la base de données à l’aide de l’option de niveau de réparation minimal. Pour plus d’informations, lisez ceci : Lire la suite

      Si ces conseils de dépannage échouent, essayez de résoudre le problème à l’aide des solutions présentées dans la section suivante.

      Solutions pour résoudre le problème de la base de données SQL Server en mode de récupération

      Voici les deux solutions que vous pouvez utiliser pour résoudre ce problème :

      Solution 1 – Restaurer la base de données à partir de la sauvegarde la plus récente

      Note : Passez à la solution suivante si la sauvegarde est obsolète ou corrompue.

      Si le processus de récupération de la base de données semble bloqué depuis longtemps, essayez de restaurer la base de données à partir d’une copie de sauvegarde mise à jour. Pour ce faire, procédez comme suit :

      • Ouvrez SQL Server Management Studio (SSMS), cliquez avec le bouton droit de la souris sur Bases de données et cliquez sur Restaurer la base de données.
      SSMS
      SSMS
      • Dans la section Source, sélectionnez l’option Périphérique et cliquez sur le bouton situé à côté.
      sélectionner l'option Appareil
      sélectionner l’option Appareil
      • Dans la boîte de dialogue qui s’ouvre, appuyez sur Ajouter.
      sélectionner les dispositifs de sauvegarde
      sélectionner les dispositifs de sauvegarde
      • Localisez et sélectionnez le fichier de sauvegarde (.bak) que vous souhaitez restaurer, puis appuyez sur OK.
      localiser le fichier de sauvegarde
      localiser le fichier de sauvegarde
      • Cliquez à nouveau sur OK.
      Cliquez à nouveau sur OK.
      Cliquez à nouveau sur OK.
      • Dans l’écran Restaurer la base de données, saisissez le nom de la base de données que vous souhaitez restaurer et cliquez sur OK.
      saisir le nom de la base de données
      saisir le nom de la base de données
      • La base de données sera restaurée.
      La base de données sera restaurée.
      La base de données sera restaurée.

      Remarque : la restauration d’une base de données volumineuse contenant plusieurs tables peut prendre beaucoup de temps.

      Solution 2 – Utiliser un outil professionnel de récupération des bases de données SQL

      Si aucune sauvegarde n’est disponible ou si vous souhaitez restaurer rapidement la base de données, l’utilisation d’un outil de récupération SQL, tel que Stellar Repair for MS SQL, peut s’avérer utile. Le logiciel répare les fichiers .mdf/.ndf et restaure la base de données dans sa forme d’origine.

      Regardez cette vidéo pour comprendre le fonctionnement du logiciel :

      Conclusion

      Cet article traite de la base de données SQL qui est bloquée dans l’état ‘Recovering’. Il décrit également les causes courantes du problème de la base de données SQL Server en mode de récupération et les conseils de dépannage pour résoudre le problème. Si ces conseils n’aident pas, la mise en œuvre des solutions peut aider à ramener la base de données à un état cohérent. Un outil de récupération de base de données SQL peut s’avérer utile lorsque tout le reste échoue à restaurer la base de données.

      Was this article helpful?

      No NO

      A propos de l'auteur

      Himanshu Shakya

      Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

      Article similaire

      POURQUOI STELLAR® EST LE LEADER MONDIAL

      Pourquoi choisir Stellar?

      • 0M+

        Clients

      • 0+

        Années d'excellence

      • 0+

        Ingénieurs R&D

      • 0+

        Pays

      • 0+

        Témoignages

      • 0+

        Récompenses reçues