MS SQL 2008 Master DB 資料庫損壞災難復原執行要點By Keynes
2010 年 07 月 12 日 發表留言
實驗說明
當"Master DB"資料庫損毀時,將造成執行個體無法正常運作,使用者無法正常登入SQL Server
防患未然,MIS 必需著手於日常備份MSDB習慣,並於災難發生時,修復MS SQL 維持正常運作
實驗環境 : 以下將Master DB 縮簡名稱為"MSDB",方便LAB操作 #而非現已存在的MSDB 資料庫
Windows Server 2008 AD 網域 + MS SQL2008 環境正常運行中
我們將故意移除MSDB的MDF與LOG檔案使資料庫運作停擺
(1.) 我們先著手備份目前正常運作的MSDB 資料庫 工作->備份
*在此我們為MSDB預先建立備份裝置: E:msdb_backup*
接者組態相關備份設定(備份選擇: 完整)
備份目的地: 指向 E:msql_backup
按下確定後->開始備份->備份OK
(2)_我們將MSSQLServer 相關服務停用: 並將MSDB.mdf & MSDB.log 故意砍掉此二檔案
接著再次登入SQL Server 測試: 發現登入已失敗(MSDB已損毀)
(3)重建MSDB
命令模式先切換到 C:Progran FilersMicrosoft SQL Server100setup Bootstraprelease
setup.exe /quiet /instancename=mssqlserver /action=rebuliddatabase /sqlsysadminaccounts=administrator /sapwd=xxxxx
/instancename 定義執行個體名稱
/action=rebuilddatabase 重建MSDB資料庫
/sqlsysadminaccounts=administrator 建立Windows帳戶以管理執行個體
/sapwd=xxxxx 混合模式指定sa 帳戶密碼
接者請使用 Single 模式 啟動instance : 還原我們先前建立的MSDB備份檔案,必須先啟用 Single Mode 後再利用sqlmd 登入方可進行還原
cd C:Program FilesMicrosoft SQL Server MSSQL 10.MSSQL SERVERMSQLBinn #先切換以下目錄
執行
sqlserver.exe -m #即可進入單人模式請確認所有SQL Serve相關服務"停擺"不運作狀態,利用單人模式啟動執行個體
>sqlcmd #登入sql server 指令操作模式
>use master #選擇欲備援的資料庫
>go
> restore database master from disk=‘E:msdb_backup’ #指定我們剛剛備份Master 資料ok的data路徑還原
>go
*下圖指示還原已成功處理*
我們再次登入測試_登入: MSDB 經過重建修復後…已可以正常登入MS SQL Server
LAB 參考資料
SQL Server 2008 管理實戰營運篇/悅知