Windows Server : Récupération de la base de données MSDB Microsoft SQL Server

Summary: Informations sur la restauration d’une base de données MSDB Microsoft SQL Server.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Lorsqu’elle est endommagée et corrompue, une base de données MSDB Microsoft SQL Server peut ne pas être mise en ligne et opérationnelle. Le service SQL Server Agent ne démarre pas et les tâches planifiées ne s’exécutent pas automatiquement ou manuellement.

Cause

Les dommages au fichier de base de données SQL Server peuvent se produire pour de nombreuses raisons différentes. La plupart des événements de base de données MSDB endommagés de Microsoft SQL Server se produisent en raison de problèmes matériels liés à la mémoire, au disque ou au processeur.

Resolution

Il existe trois méthodes pour restaurer des bases de données Microsoft SQL MSDB :
  1. Restauration à partir d’une sauvegarde
  2. Utiliser DBCC CheckDB pour réparer la base de données MSDB
  3. Remplacer les fichiers de base de données MSDB
Restauration de la base de données MSDB à partir d’une sauvegarde :
Le processus de restauration à l’aide de SQL Server Management Studio nécessite une sauvegarde à jour et peut être effectué en accédant aux propriétés de la base de données « msdb », Tasks >Restore >Database et en pointant vers l’emplacement du support de sauvegarde.
 
Affiche les étapes de restauration de la base de données MSDB dans SQL Server Studio Manager.

Utilisez DBCC CheckDB pour réparer la base de données :
Si aucune sauvegarde n’est disponible, nous pouvons exécuter DBCC CheckDB pour enregistrer la base de données MSDB actuelle et son contenu. Les commandes T-SQL ci-dessous vérifient l’intégrité de la base de données MSDB. Exécutez une réparation logicielle de la base de données MSDB, et enfin une réparation matérielle de la base de données MSDB :
  • Vérification de l’intégrité de la base de données MSDB ; La base de données est-elle exempte de corruption ?
Exécutez la commande ci-dessous dans la fenêtre de requête SSMS :
USE Master;
      GO
        ALTER Database MSDB
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
        GO
        DBCC CHECKDB (msdb, NOINDEX);
        GO
        ALTER DATABASE MSDB
        SET-MULTI_USER;
        GO
Nous voulons vérifier la ligne en bas de la fenêtre de retour signalant les erreurs d'« allocation » et de « cohérence ». Une base de données MSDB endommagée signale une erreur et nécessite l’utilisation des commandes DBCC CHECKDB ci-dessous pour effectuer une réparation.
 
Résultats de DBCC CHECkDB lors de la vérification des erreurs de cohérence.
  • Commande MSDB T-SQL pour une tentative de « récupération douce » sans perte de données :
Exécutez la commande ci-dessous dans la fenêtre de requête SSMS :
USE Master;
      GO
        ALTER Database MSDB
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
        GO
        DBCC CHECKDB (msdb, REPAIR_REBUILD);
        GO
        ALTER DATABASE MSDB
        SET-MULTI_USER;
        GO
Après avoir exécuté la commande ci-dessus, exécutez à nouveau DBCC CheckDB pour voir le nouvel état de la base de données.
  • Commande MSDB T-SQL pour une tentative de « récupération matérielle » avec perte de données possible :
Exécutez la commande ci-dessous dans la fenêtre de requête SSMS :
USE Master;
      GO
        ALTER Database MSDB
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
        GO
        DBCC CHECKDB (msdb, REPAIR_ALLOW_DATA_LOSS);
        GO
        ALTER DATABASE MSDB
        SET-MULTI_USER;
        GO
Après avoir exécuté la commande ci-dessus, exécutez à nouveau DBCC CheckDB pour voir le nouvel état de la base de données.

Remplacez les fichiers de base de données MSDB.
Si la base de données MSDB est corrompue et que les options de réparation DBCC ne fonctionnent pas, installez une nouvelle base de données MSDB en remplaçant les fichiers de base de données MSDB.

Lorsque nous remplaçons les fichiers de base de données MSDB, nous perdons toutes les informations telles que les procédures de sauvegarde personnalisées, les informations sur les tâches, la réplication, l’envoi des journaux et les données du plan de maintenance.

Les étapes ci-dessous sont utilisées pour remplacer une base de données MSDB existante par une nouvelle base de données MSDB par défaut.
  • Accédez au répertoire d’installation de SQL Server et au dossier Templates sous le répertoire Binn :
Affichage de l’emplacement des fichiers de la base de données MSDB et des modèles de logs.

Les fichiers msdbdata.mdf et msdblog.ldf sont les fichiers modèles de base de données MSDB pour lesquels nous devons créer une nouvelle base de données MSDB stable.
  • Nous devons arrêter le service SQL Server pour remplacer les fichiers de base de données MSDB existants.
Affichage de l’emplacement dans SQL Server Management Studio où le service SQL Server peut être démarré ou arrêté.
  • Accédez au répertoire SQL Server Data. Dans l’exemple ci-dessous, le chemin du répertoire est le suivant C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
Chemin d’accès au répertoire de données SQL Server
 
  • Recherchez les fichiers corrompus « msdbdata.mdf » et « msdblog.ldf ».
Affiche l’emplacement par défaut de la base de données MSDB et du fichier journal dans le répertoire d’application SQL Server.
  • Copiez et déplacez les fichiers dans un autre répertoire ; Dans ce cas, nous les déplaçons vers un dossier appelé « MSDB_Save ». Il est possible que ces fichiers puissent être importés dans une autre installation de SQL Server et vérifiés à nouveau avec DBCC CHECKDB ; Il n’est pas recommandé de supprimer des fichiers de base de données corrompus lors du dépannage.
                Affichage d’un emplacement de stockage des fichiers de base de données MSDB endommagés.
  • Recherchez l’emplacement d’enregistrement des fichiers de base de données temporaires MSDB et replacez-en une copie dans notre répertoire de base de données SQL Server par défaut :
Emplacement des modèles de fichier de base de données MSDB SQL Server
  • Emplacement final des fichiers temporaires de la base de données MSDB ; dans le répertoire de données par défaut de C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
Active Directory pour les fichiers de base de données MSDB
  • Après avoir remplacé les fichiers de base de données MSDB, démarrez le service SQL Server.
Affichage de l’emplacement dans SQL Server Management Studio où le service SQL Server peut être redémarré.
 

Affected Products

Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025

Products

C Series, HS Series, Modular Infrastructure, Tower Servers, PowerEdge R240, PowerEdge R250, PowerEdge R260, PowerEdge R340, PowerEdge R350, PowerEdge R360, PowerEdge R440, PowerEdge R450, PowerEdge R540, PowerEdge R550, PowerEdge R640 , PowerEdge R6415, PowerEdge R650, PowerEdge R650xs, PowerEdge R6515, PowerEdge R6525, PowerEdge R660, PowerEdge R660xs, PowerEdge R6615, PowerEdge R6625, PowerEdge R740, PowerEdge R740XD, PowerEdge R740XD2, PowerEdge R7415, PowerEdge R7425, PowerEdge R750, PowerEdge R750XA, PowerEdge R750xs, PowerEdge R7515, PowerEdge R7525, PowerEdge R760, PowerEdge R760XA, PowerEdge R760xd2, PowerEdge R760xs, PowerEdge R7615, PowerEdge R7625, PowerEdge R840, PowerEdge R860, PowerEdge R940, PowerEdge R940xa, PowerEdge R960 ...
Article Properties
Article Number: 000200606
Article Type: Solution
Last Modified: 05 Sep 2025
Version:  9
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.