摘要: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),請記得要啟動這個服務。