SQL master Database Rebuild and Restore(master資料庫重建跟還原)

SQL master Database Rebuild and Restore(master資料庫重建跟還原)



緣由:masterSQL的重要核心DB,一旦損毀就是大災難的開始。看了SQL Server2012管理實戰』

跟對岸的SQL Server 2012實施與管理實戰指南』這兩本書都對master資料庫的還原有詳細的說明,

雖然說沒有人願意遇見這樣的災難發生,但還原master 資料庫的演練是一定要做的。

 

環境:一台SQL Server 2008 R2

 

流程:

 

步驟一:備份很重要,一旦發生災難,備份檔就是你的救星。這一個LAB我們先對master進行資料庫的備份。

                 如下圖紅色圈選處,備份master時已有3Database存在。

clip_image002

 

 

 

驟二:我們模擬因為master已經損毀造成SQL無法順利啟動,因需要先重建master資料庫。

在此我們必須使用SQL Server的安裝程式Setup.exe來做重建的動作。該檔案可以從光碟片中取得,

也可以在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2目錄下找到。

 

重建的語法如下:

Setup.exe /QUIET /INSTANCENAME=mssqlserver /ACTION=rebuilddatabase /SQLSYSADMINACCOUNTS=administrators /SAPWD=*****

 

參數說明:

 

/QUIETSetup.exe工具程式不呈現互動畫面,直接完成指令工作。

/INSTANCENAME:目標執行個體名稱,預設執行個體設為MSSQLSERVER

/ACTION:要Setup.exe執行的工作,此處rebuilddatabase代表要建立系統資料庫。

/SQLSYSADMINACCOUNTS:管理SQL Server執行個體的Windows帳戶。

/SAPWD:若SQL Server的驗證方式採用混合模式,則透過此一參數給SA帳戶密碼。

(資料來源:SQL Server2012管理實戰)

 

重建過程需要花一點時間等待,千萬不要以為當機了(如下圖所示)。

 

clip_image004

 

 

 

 

步驟三:從下圖中我們可以看見當master完成重建後,原來存在的Databaselogin都消失了。

clip_image006

 

 

 

 

步驟四:還原master前請先將所有的SQL相關服務先停掉(如下圖)。

clip_image008

 

 

 

 

 

 

 

步驟五:欲還原master資料庫需先以『單一使用者模式』啟動SQL Server,因此執行sqlservr.exe時,需加入-m的參數,

                 語法如下:sqlservr.exe –s mssqlserver –m

               (預設路徑C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn

clip_image010

 

 

步驟六:完成步驟五後,我們另外開啟另一個『命令提示字元』的視窗,利用sqlcmd來還原master資料庫。

語法如下:

 

Use msdb

go

Restore database master from disk=’檔案

go

完成上面的指令,我們可以看見如下圖的畫面,master資料庫已經還原成功。

注意:master資料庫還原完成後SQL的服務會自動停止,萬一還原中發生問題導致失敗

而想停止sqlserver該怎麼停呢,回到剛剛執行sqlservr.exe的那一個視窗,然後按下Ctrl+C

,此時畫面會出現訊息問你是否要shutdown SQL,按下Y即可跳出-m模式。

clip_image012

 

 

 

 

 

 

步驟七:重啟服務。

clip_image014

 

 

 

 

 

步驟八:Databaselogin等資料都回來嘍,我們的實驗也完成了。

clip_image016

 

 

 

 

 

好書推薦

clip_image018clip_image020 

 

我是ROCK

rockchang@mails.fju.edu.tw