Windows Server: Odzyskiwanie bazy danych MSDB Microsoft SQL Server
Summary: Informacje na temat odzyskiwania bazy danych 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
W przypadku uszkodzenia bazy danych MSDB programu Microsoft SQL Server może nie być w trybie online i nie działać. Usługa agenta SQL Server nie jest uruchamiana, a żadne zaplanowane zadania nie są uruchamiane automatycznie ani ręcznie.
Cause
Uszkodzenie pliku bazy danych SQL Server może wystąpić z wielu różnych powodów. Większość zdarzeń związanych z uszkodzeniem bazy danych MSDB w programie Microsoft SQL Server ma miejsce z powodu problemów sprzętowych związanych z pamięcią, dyskiem lub procesorem.
Resolution
Istnieją trzy metody odzyskiwania baz danych Microsoft SQL MSDB:
Pliki msdbdata.mdf i msdblog.ldf to pliki szablonów baz danych MSDB, które musimy uruchomić w nowej, stabilnej bazie danych MSDB.
- Przywróć z kopii zapasowej
- Używanie bazy danych DBCC CheckDB do naprawy bazy danych MSDB
- Zastąp pliki bazy danych MSDB
Przywracanie bazy danych MSDB z kopii zapasowej:
Proces przywracania za pomocą SQL Server Management Studio wymaga aktualnej kopii zapasowej i można go wykonać, przechodząc do właściwości bazy danych "msdb", Tasks >Restore >Database i wskazując lokalizację nośnika kopii zapasowej.
Użyj bazy danych DBCC CheckDB do naprawy bazy danych:
Jeśli kopia zapasowa nie jest dostępna, możemy uruchomić DBCC CheckDB, aby zapisać bieżącą bazę danych MSDB i jej zawartość. Poniższe polecenia języka T-SQL sprawdzają integralność bazy danych MSDB. Uruchom miękką naprawę bazy danych MSDB, a na koniec twardą naprawę bazy danych MSDB:
Zastąp pliki bazy danych MSDB.
Jeśli baza danych MSDB jest uszkodzona, a opcje naprawy DBCC nie działają, należy dodać nową bazę danych MSDB, zastępując pliki bazy danych MSDB.
Po zastąpieniu plików bazy danych MSDB tracimy wszystkie informacje, takie jak niestandardowe zadania tworzenia kopii zapasowych, informacje o zadaniach, replikacja, wysyłka dzienników i dane planu konserwacji.
Poniższe czynności służą do zastąpienia istniejącej bazy danych MSDB nową domyślną bazą danych MSDB.
Proces przywracania za pomocą SQL Server Management Studio wymaga aktualnej kopii zapasowej i można go wykonać, przechodząc do właściwości bazy danych "msdb", Tasks >Restore >Database i wskazując lokalizację nośnika kopii zapasowej.
Użyj bazy danych DBCC CheckDB do naprawy bazy danych:
Jeśli kopia zapasowa nie jest dostępna, możemy uruchomić DBCC CheckDB, aby zapisać bieżącą bazę danych MSDB i jej zawartość. Poniższe polecenia języka T-SQL sprawdzają integralność bazy danych MSDB. Uruchom miękką naprawę bazy danych MSDB, a na koniec twardą naprawę bazy danych MSDB:
- Sprawdzanie integralności bazy danych MSDB; Czy baza danych jest wolna od uszkodzeń?
Uruchom następujące polecenie w oknie zapytania programu 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; GOChcemy sprawdzić wiersz u dołu okna zwrotu zgłaszający błędy "alokacji" i "spójności". Uszkodzona baza danych MSDB zgłasza błąd i wymaga naprawy przy użyciu poniższych poleceń DBCC CHECKDB.
- Polecenie MSDB T-SQL dla próby "miękkiego odzyskiwania" bez utraty danych:
Uruchom następujące polecenie w oknie zapytania programu 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; GOPo wykonaniu powyższego polecenia uruchom ponownie DBCC CheckDB, aby wyświetlić nowy stan bazy danych.
- Polecenie MSDB T-SQL dla próby "twardego odzyskiwania" z możliwą utratą danych:
Uruchom następujące polecenie w oknie zapytania programu 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; GOPo wykonaniu powyższego polecenia uruchom ponownie DBCC CheckDB, aby wyświetlić nowy stan bazy danych.
Zastąp pliki bazy danych MSDB.
Jeśli baza danych MSDB jest uszkodzona, a opcje naprawy DBCC nie działają, należy dodać nową bazę danych MSDB, zastępując pliki bazy danych MSDB.
Po zastąpieniu plików bazy danych MSDB tracimy wszystkie informacje, takie jak niestandardowe zadania tworzenia kopii zapasowych, informacje o zadaniach, replikacja, wysyłka dzienników i dane planu konserwacji.
Poniższe czynności służą do zastąpienia istniejącej bazy danych MSDB nową domyślną bazą danych MSDB.
- Przejdź do katalogu instalacyjnego SQL Server i przejdź do folderu Templates w katalogu Binn:
Pliki msdbdata.mdf i msdblog.ldf to pliki szablonów baz danych MSDB, które musimy uruchomić w nowej, stabilnej bazie danych MSDB.
- Musimy zatrzymać usługę SQL Server, aby zastąpić istniejące pliki bazy danych MSDB.
- Przejdź do katalogu danych programu SQL Server. Ścieżka katalogu w poniższym przykładzie to
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
- Znajdź uszkodzone pliki "msdbdata.mdf" i "msdblog.ldf".
- Skopiuj i przenieś pliki do innego katalogu; W tym przypadku przenosimy je do folderu o nazwie "MSDB_Save". Istnieje szansa, że pliki te można zaimportować do innej instalacji SQL Server i ponownie sprawdzić za pomocą DBCC CHECKDB; Usuwanie uszkodzonych plików bazy danych podczas rozwiązywania problemów nie jest najlepszą praktyką.
- Znajdź miejsce, w którym są zapisywane pliki tymczasowej bazy danych MSDB i umieść ich kopię z powrotem w naszym domyślnym katalogu bazy danych SQL Server:
- Ostateczna lokalizacja plików tymczasowych bazy danych MSDB; z powrotem do domyślnego katalogu danych
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
- Po zastąpieniu plików bazy danych MSDB uruchom usługę SQL Server.
Affected Products
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025Products
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.