SQL Server備份與還原--恢復master資料庫
阿新 • • 發佈:2020-10-19
簡介:
Master資料庫在整體上控制SQL sever的所有方面。這個資料庫中包括所有的配置資訊、使用者登陸資訊、當前正在伺服器中執行的資訊等。是整個系統中最重要的資料庫。Master資料庫被損壞,可能導致SQL Server例項無法啟動,所以在建立了任何使用者定義的物件後都要備份它。下面幾種情況都應該備份Master資料庫:
更改伺服器範圍的配置選項
建立或刪除使用者資料庫
建立或刪除邏輯備份裝置
Master資料庫只能做完整備份
實驗名稱:備份master資料庫
實驗模擬環境:
Master資料庫資料丟失或出現設定錯誤,但能啟動例項,通過還原Master的完整備份修復已損壞的資料庫
注:恢復的前提必須是此前對資料庫進行過完整備份,否則就失敗。
實驗步驟:
1. 破壞master檔案(假設其檔案破壞)
停止SQL Server服務,更改資料庫檔案master.mdf(隨便重新命名這裡改為yue.mdf)
再次啟動SQL Server服務,系統會提示錯誤資訊,啟動失敗,如下圖所示;
將資料庫安裝光碟1放進光碟機
2. 執行安裝setup.exe,重建master資料庫。
在命令列下,執行cd c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn路徑,進入資料庫安裝目錄。
執行start /wait E:\setup.exe /qn INSTANCENAME=mssqlserver
REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=123.com
檢視系統目錄如圖,新建成功。
3. 重建成功好,重新啟動服務。
4. 登陸伺服器後的資料庫
只有系統資料庫,使用者自己建的資料庫和伺服器配置全都沒了,如下圖所示;
5.直接在master上進行資料還原。
會提示master資料庫正在使用,如下圖;
6.停止服務,啟動單使用者模式。
停止SQL Server的所有服務。
在命令列下輸入cd c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn進入資料庫安裝目錄,然後執行sqlservr.exe –c –m命令。如圖所示;
7.啟動SSMS,新建查詢。
開啟SSMS工具,先斷開連線,在新建查詢,執行以下還原命令,如圖所示;
USE master
GO
RESTORE DATABASE master FROM Disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'(備份檔名)
WITH REPLACE
如下圖所示,是執行成功後的提示資訊
8.重新啟動資料庫服務。
再次檢視資料庫恢復後的結果,使用者建立的資料庫都顯示出來了,如圖所示;
注意:其他系統資料庫可以直接從完整備份中恢復,不需要向master一樣從單使用者模式恢復。