Windows Server: Microsoft SQL Server MSDB Datenbank-Recovery

Summary: Informationen zum Wiederherstellen einer Microsoft SQL Server MSDB-Datenbank.

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

Wenn eine Microsoft SQL Server MSDB-Datenbank beschädigt ist, kann sie möglicherweise nicht online geschaltet werden und betriebsbereit sein. Der SQL Server Agent-Service wird nicht gestartet und geplante Jobs werden nicht automatisch oder manuell ausgeführt.

Cause

Eine Beschädigung der SQL Server-Datenbankdatei kann aus vielen verschiedenen Gründen auftreten. Die meisten beschädigten MSDB-Datenbankereignisse von Microsoft SQL Server treten aufgrund von Hardwareproblemen im Zusammenhang mit Arbeitsspeicher-, Festplatten- oder Prozessorproblemen auf.

Resolution

Es gibt drei Methoden zum Wiederherstellen von Microsoft SQL MSDB-Datenbanken:
  1. Wiederherstellen aus Backup
  2. Verwenden von DBCC CheckDB zum Reparieren der MSDB-Datenbank
  3. Ersetzen der MSDB-Datenbankdateien
MSDB-Datenbankwiederherstellung aus Backup:
Der Wiederherstellungsprozess mit SQL Server Management Studio erfordert ein aktuelles Backup und kann durchgeführt werden, indem Sie zu den Eigenschaften der Datenbank "msdb" wechseln, Aufgaben > Datenbank wiederherstellen >und auf den Speicherort des Backupmediums verweisen.
 
Zeigt die Schritte in SQL Server Studio Manager zum Wiederherstellen der MSDB-Datenbank an.

Verwenden Sie DBCC CheckDB für die Datenbankreparatur:
Wenn kein Backup verfügbar ist, können wir DBCC CheckDB ausführen, um die aktuelle MSDB-Datenbank und ihren Inhalt zu speichern. Mit den folgenden T-SQL-Befehlen wird die Integrität der MSDB-Datenbank überprüft. Führen Sie eine Softreparatur der MSDB-Datenbank und abschließend eine Reparatur der MSDB-Datenbank durch:
  • MSDB-Integritätsprüfung; Ist die Datenbank frei von Beschädigungen?
Führen Sie den folgenden Befehl im Fenster "SSMS query" aus:
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
Wir möchten die Zeile am unteren Rand des Rückgabefensters überprüfen, in der Fehler zu "Alllocation" und "Consistency" gemeldet werden. Eine beschädigte MSDB-Datenbank meldet einen Fehler und erfordert die folgenden DBCC CHECKDB-Befehle zur Reparatur.
 
Ergebnisse von DBCC CHECkDB bei der Überprüfung auf Konsistenzfehler.
  • MSDB T-SQL-Befehl für eine versuchte "weiche Recovery" ohne Datenverlust:
Führen Sie den folgenden Befehl im Fenster "SSMS query" aus:
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
Führen Sie nach dem Ausführen des obigen Befehls DBCC CheckDB erneut aus, um den neuen Status der Datenbank anzuzeigen.
  • MSDB T-SQL-Befehl für einen versuchten "Hard Recovery"-Recovery-Versuch mit möglichem Datenverlust:
Führen Sie den folgenden Befehl im Fenster "SSMS query" aus:
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
Führen Sie nach dem Ausführen des obigen Befehls DBCC CheckDB erneut aus, um den neuen Status der Datenbank anzuzeigen.

Ersetzen Sie die MSDB-Datenbankdateien.
Wenn die MSDB-Datenbank beschädigt ist und die DBCC-Reparaturoptionen nicht funktionieren, legen Sie eine neue MSDB-Datenbank an, indem Sie die MSDB-Datenbankdateien ersetzen.

Wenn die MSDB-Datenbankdateien ersetzt werden, gehen alle Informationen wie nutzerdefinierte Backupjobs, Aufgabeninformationen, Replikation, Protokollversand und Wartungsplandaten verloren.

Die folgenden Schritte werden verwendet, um eine vorhandene MSDB-Datenbank durch eine neue Standard-MSDB-Datenbank zu ersetzen.
  • Navigieren Sie zum SQL Server-Installationsverzeichnis und navigieren Sie zum Ordner "Templates" unter dem Binn-Verzeichnis:
Zeigt den Dateispeicherort der MSDB-Datenbank und Protokollvorlagen an.

Die Dateien msdbdata.mdf und msdblog.ldf sind die MSDB-Datenbankvorlagendateien, die wir für eine neue stabile MSDB-Datenbank aufrufen müssen.
  • Der SQL Server-Dienst muss beendet werden, um die vorhandenen MSDB-Datenbankdateien zu ersetzen.
Zeigt den Speicherort in SQL Server Management Studio an, an dem der SQL Server-Dienst gestartet oder beendet werden kann.
  • Navigieren Sie zum Verzeichnis SQL Server Data. Der Verzeichnispfad im folgenden Beispiel lautet C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
SQL Server-Datenverzeichnispfad
 
  • Suchen Sie die beschädigten Dateien "msdbdata.mdf" und "msdblog.ldf".
Zeigt den standardmäßigen Speicherort der MSDB-Datenbank und Protokolldatei im SQL Server-Anwendungsverzeichnis an.
  • Kopieren und verschieben Sie die Dateien in ein anderes Verzeichnis. In diesem Fall verschieben wir sie in einen Ordner namens "MSDB_Save". Es besteht die Möglichkeit, dass diese Dateien in eine andere SQL Server-Installation importiert und erneut mit DBCC CHECKDB überprüft werden können. Es ist keine Best Practice, beschädigte Datenbankdateien beim Troubleshooting zu löschen.
                Zeigt einen Speicherort zum Speichern beschädigter MSDB-Datenbankdateien an.
  • Finden Sie heraus, wo die temporären MSDB-Datenbankdateien gespeichert sind, und legen Sie eine Kopie davon wieder in unserem standardmäßigen SQL Server-Datenbankverzeichnis ab:
Speicherort der SQL Server MSDB-Datenbankdateivorlagen
  • Endgültiger Speicherort für die temporären Dateien der MSDB-Datenbank; zurück im Standard-Datenverzeichnis von C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
Active Directory für MSDB-Datenbankdateien
  • Starten Sie nach dem Ersetzen der MSDB-Datenbankdateien den SQL Server-Dienst.
Zeigt an, wo in SQL Server Management Studio der SQL Server-Dienst neu gestartet werden kann.
 

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.