Windows Server:Microsoft SQL Server MSDB 資料庫復原
Zusammenfassung: 如何還原 Microsoft SQL Server MSDB 資料庫的資訊。
Dieser Artikel gilt für
Dieser Artikel gilt nicht für
Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden.
In diesem Artikel werden nicht alle Produktversionen aufgeführt.
Symptome
損壞和損壞時,Microsoft SQL Server MSDB 資料庫可能無法連線並正常運行。SQL Server 代理服務不會啟動,並且任何計劃作業都不會自動或手動運行。
Ursache
SQL Server 資料庫檔損壞可能由於許多不同的原因而發生。大多數 Microsoft SQL Server 損壞的 MSDB 資料庫事件都是由於與記憶體、磁碟或處理器問題相關的硬體問題而發生的。
Lösung
有三種方法可以恢復Microsoft SQL MSDB 資料庫:
msdbdata.mdf 和 msdblog.ldf 檔是 MSDB 資料庫範本檔,我們必須帶出一個新的穩定的 MSDB 資料庫。
- 從備份還原
- 使用 DBCC CheckDB 修復 MSDB 資料庫
- 取代 MSDB 資料庫檔案
從備份還原 MSDB 資料庫:
使用 SQL Server Management Studio 的還原過程需要當前備份,可以通過轉到“msdb”資料庫的屬性、 任務 >還原 >資料庫 並指向備份媒體的位置來執行。
使用 DBCC CheckDB 進行資料庫修復:
如果沒有可用的備份,我們可以運行 DBCC CheckDB 來保存當前的 MSDB 資料庫及其內容。下面的 T-SQL 命令檢查 MSDB 資料庫的完整性。運行 MSDB 資料庫的軟修復,最後對 MSDB 資料庫執行硬修復:
替換 MSDB 資料庫檔。
如果 MSDB 資料庫已損壞,並且 DBCC 修復選項不起作用,請通過替換 MSDB 資料庫檔來放置新的 MSDB 資料庫。
當我們替換 MSDB 資料庫檔時,我們會丟失所有資訊,如自定義備份作業、任務資訊、複製、日誌傳送和維護計劃數據。
以下步驟用於將現有 MSDB 資料庫替換為新的預設 MSDB 資料庫。
使用 SQL Server Management Studio 的還原過程需要當前備份,可以通過轉到“msdb”資料庫的屬性、 任務 >還原 >資料庫 並指向備份媒體的位置來執行。
使用 DBCC CheckDB 進行資料庫修復:
如果沒有可用的備份,我們可以運行 DBCC CheckDB 來保存當前的 MSDB 資料庫及其內容。下面的 T-SQL 命令檢查 MSDB 資料庫的完整性。運行 MSDB 資料庫的軟修復,最後對 MSDB 資料庫執行硬修復:
- MSDB 完整性檢查;資料庫是否沒有損壞?
在 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我們要檢查返回視窗底部報告「分配」和「一致性」錯誤的行。損壞的 MSDB 資料庫報告錯誤,需要下面的 DBCC CHECKDB 命令進行修復。
- MSDB T-SQL 命令,用於嘗試進行無資料遺失的「軟復原」:
在 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運行上述命令后,再次運行 DBCC CheckDB 以查看資料庫的新狀態。
- MSDB T-SQL 命令,用於嘗試進行可能資料遺失的「硬復原」:
在 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運行上述命令后,再次運行 DBCC CheckDB 以查看資料庫的新狀態。
替換 MSDB 資料庫檔。
如果 MSDB 資料庫已損壞,並且 DBCC 修復選項不起作用,請通過替換 MSDB 資料庫檔來放置新的 MSDB 資料庫。
當我們替換 MSDB 資料庫檔時,我們會丟失所有資訊,如自定義備份作業、任務資訊、複製、日誌傳送和維護計劃數據。
以下步驟用於將現有 MSDB 資料庫替換為新的預設 MSDB 資料庫。
- 瀏覽至 SQL Server 安裝目錄,然後前往 Binn 目錄下的範本資料夾:
msdbdata.mdf 和 msdblog.ldf 檔是 MSDB 資料庫範本檔,我們必須帶出一個新的穩定的 MSDB 資料庫。
- 我們必須停止 SQL Server 服務以替換現有的 MSDB 資料庫檔。
- 前往 SQL Server 資料目錄。以下範例中的目錄路徑為:
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
- 找到損毀的「msdbdata.mdf」和「msdblog.ldf」檔案
- 將檔案複製並移動到另一個目錄;在本例中,我們要將它們移至名為「MSDB_Save」的資料夾有可能這些檔可以導入到另一個SQL Server安裝中,並使用DBCC CHECKDB再次檢查;在進行故障排除時,最好不要刪除損壞的資料庫檔。
- 尋找 MSDB 暫存資料庫檔的儲存位置,並將其複本放回預設的 SQL Server 資料庫目錄中:
- MSDB 資料庫臨時文件的最終位置;回到預設的資料目錄
C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA.
- 替換 MSDB 資料庫檔後,啟動 SQL Server 服務。
Betroffene Produkte
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows Server 2025Produkte
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
...
Artikeleigenschaften
Artikelnummer: 000200606
Artikeltyp: Solution
Zuletzt geändert: 05 Sept. 2025
Version: 9
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.