SQL Server 2005 - 如何重建 msdb 系統資料庫

摘要:SQL Server 2005 - 如何重建 msdb 系統資料庫

SQL Server 代理程式(SQL Agent)會執行作業、監視 SQL Serve 、觸發警示,並管理自動化工作。當 msdb 這個系統資料庫毀損,就會失去 SQL Server 代理程式(SQL Agent)所用的任何排程資訊,此時您必須以手動方式重新建立此系統資料庫,然而此舉也將會失去先前的備份與回存歷程資訊。

請注意:
在 預設狀態下,於安裝 SQL Server 2005 時,會停用 SQL Server Agent 服務,除非您於安裝結束前,選擇要自動啟動該服務。此外,若您安裝的 SQL Server 2005 是 Express Edition 以及 Express Edition with Advanced Services,本身就不提供 SQL Server Agent 服務。

欲在 SQL Server 2005 中重建 msdb 系統資料庫,請依下列步驟進行:

1. 開啟組態管理員(Configuration Manager),依序展開「SQL Server 組態管理員(本機)」「SQL Server 2005 服務」,接著在右邊窗格中,於您欲重新建立 msdb 系統資料庫的執行個體名稱上按一下滑鼠右鍵,接著從快顯功能表中選取「內容」指令(如圖表 1 所示)。

圖表 1

2. 於對話方塊中,按一下「進階」索引標籤,然後在「啟動參數」所在那列按一下滑鼠左鍵,此時會出現下拉清單,按一下清單旁邊的下箭頭。將滑鼠移到對話方塊的最後面,鍵入如下的一個新參數(如圖表 2 所示):

;-T3608

按下「確定」按鈕來關閉這個對話方塊,此時會出現一個警告對話方塊,請直接按下「確定」按鈕。

圖表 2

3. 使用組態管理員(Configuration Manager)停止並重新啟動這個 SQL Server 2005 執行個體。

4. 確認 SQL Server 代理程式(SQL Agent)沒有被啟動,如果有啟動時,請將其停止。

5. 執行如下的程式碼來卸離 msdb 系統資料庫:

USE master;
GO
sp_detach_db 'msdb';
GO

6. 開啟檔案總管,並切換到 SQL Server 2005 預設存放資料檔的目錄(一般來說,會是 C:\Program Files\Microsoft SQL Server\MSSQL.1\Data 中),刪除 msdbdata.mdf 以及 msdblog.ldf 這兩個資料庫檔案。

請注意:
如果您有安裝多個執行個體時,請確認 msdb 系統資料庫檔案所在的目錄為何。

7. 如圖表 3 所示,執行 SQL Server 2005 執行個體的 MSSQL\Install 目錄(在預設狀態下,這個目錄名稱是 C:Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Install)中的 instmsdb.sql 指令檔來重新建立一個新的 msdb 系統資料庫。

請注意:
執行過程中,可能會出現錯誤訊息,只要最後出現 Execution of INSTMSDB.SQL complete 的訊息,就代表重建 msdb 系統資料庫成功。


圖表 3


8. 重複步驟1~2,接著於「啟動參數」對話方塊的「參數」文字方塊中,選取先前所加入的 ;-T3608 參數,依序按下「移除」「確定」「確定」按鈕。

9. 停止並重新啟動 SQL Server 服務。如果先前有啟動 SQL Server 代理程式(SQL Agent),請記得要啟動這個服務。