今天,重裝Sql2000資料庫後,在恢複master資料庫時出現了錯誤,提示為“當試圖還原master資料庫時,必須以單使用者模式使用restoredatabase,restore database操作異常終止”。在網上搜尋了一下,發現了一篇介紹比較詳細的,而且也确實解決了這一問題(我在VM上測試過可以),特将其全文轉貼如下:
關于系統資料庫的恢複總結如下:
在SQL Server資料庫中,系統資訊存儲在系統資料庫中,主要的系統資料庫包括:
master-從整體上控制使用者資料庫和SQL Server操作,在建立了任何使用者定義的對象後,都要備份它
model-為新資料庫提供模版和原型
msdb-包含了有關作業、報警及操作員等資訊
如果包含系統資料庫的媒體變了,那麼必須重建系統資料庫,如果你仍然可以啟動SQL Server服務,則可以通過RESTORE語句從系統資料庫的備份中恢複資料庫。
如果master壞了,不能啟動系統,可以按照下面步驟進行恢複
1.重建系統資料庫 運作c:\mssql7\binn\rebuildm.exe,按照提示進行即可,
過程中需要系統資料庫樣本的路徑,可在安裝CD光牒中找到;
2 重建系統資料庫後,啟動SQL Server服務,用系統資料庫的備份恢複資料庫
就行了通常恢複順序為master->msdb->model
在恢複master的備份時要注意:必須在單使用者(single user)模式下進行
a.進入單使用者模式的方法:
1.在指令行模式下輸入sqlservr -c -f -m或者輸入sqlservr -m
其中:-c 可以縮短啟動時間,SQL Server 不作為Windows NT的服務啟動
-f 用最小配置啟動SQL Server
-m 單使用者模式啟動SQL Server
2.可以在控制台-服務-MSSQLServer的啟動參數中輸入-c -f -m或者輸入-m,點選開始
3.進行master資料庫的恢複
a.直接進入查詢分析器,有個提示不要理會它
輸入恢複語句進行資料庫恢複:
RESTORE DATABASE master from disk='c:\具體的備份檔案名'
b.或者用這個,在指令提示符下輸入,注意大小寫
使用"windows身份驗證"的,輸入:isql /E
使用"sql server和windows身份驗證"的,輸入:isql /U"使用者名" /P"密碼"
然後在出現的提示符下輸入(注意1>,2>是提示符):
1>RESTORE DATABASE master from disk='c:\具體的備份檔案名'
2>go
本文轉自 intelboy 51CTO部落格,原文連結:http://blog.51cto.com/intelboy/12432,如需轉載請自行聯系原作者