Windows Server: Odzyskiwanie bazy danych MSDB Microsoft SQL Server
Riepilogo: Informacje na temat odzyskiwania bazy danych MSDB Microsoft SQL Server.
Questo articolo si applica a
Questo articolo non si applica a
Questo articolo non è legato a un prodotto specifico.
Non tutte le versioni del prodotto sono identificate in questo articolo.
Sintomi
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.
Causa
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.
Risoluzione
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.
Prodotti interessati
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025Prodotti
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
...
Proprietà dell'articolo
Numero articolo: 000200606
Tipo di articolo: Solution
Ultima modifica: 05 set 2025
Versione: 9
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.