Windows Server: Odzyskiwanie bazy danych MSDB Microsoft SQL Server
摘要: Informacje na temat odzyskiwania bazy danych MSDB Microsoft SQL Server.
本文章適用於
本文章不適用於
本文無關於任何特定產品。
本文未識別所有產品版本。
症狀
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.
原因
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.
解析度
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.
受影響的產品
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025產品
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
...
文章屬性
文章編號: 000200606
文章類型: Solution
上次修改時間: 05 9月 2025
版本: 9
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。