一:備份master數據庫
1:master數據庫的備份場景:
在下列情況下,應該備份master數據庫。
創建或刪除用戶數據庫
添加/刪除登錄帳戶或修改的數據庫級別的角色,從而影響了整個數據庫服務器的安全性
更改了服務器級別的配置選項或數據庫配置選項
簡單的說,也就是涉及到服務器級別的更改,都應該及時備份master。
2:master數據庫備份方法
默認情況下,master數據庫使用簡單恢復模型,對於master數據庫備份只需要使用完全備份。完全備份方法很簡單,不多描述。
二:恢復master數據庫基本思路
如果master數據庫損壞,SQL Server就不能啓動,且在事件管理器中可以查看到相應的master數據庫無法訪問的日誌信息。在這種情況下,就需要恢復master數據庫。
恢復master數據庫的思路比較清晰,主要分爲如下步驟:
1:重建全新master數據庫,以保證SQL Server服務器可以啓動。
2:啓動SQL Server服務後,通過企業管理器或命令,將SQL Server服務器置於單用戶模式
3:在單用戶模式下進行master數據庫恢復
4:恢復完成後,將SQL Server實例重新置於多用戶模式。
1:利用rebuildm.exe工具重建master數據庫
該工具在安裝SQL Server實例時已經安裝到程序目錄下。默認路徑爲:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
運行該工具,在彈出的重建master窗口中,設置好正確的參數信息:SQL Server服務器,排序規則 以及SQL Server 2000安裝文件中master文件所在路徑。見下圖:
重建完成後,通過服務管理器或企業管理器啓動SQL Server服務器。
需要注意的是:此時SQL Server數據庫中只有dbo角色相關的登錄帳戶,且sa帳戶密碼已經重置爲空。同時所有的用戶數據庫都不可見。
2:將SQL Server服務器置於單用戶模式
將SQL Server服務器設置爲單用戶模式方法很簡單:打開企業管理器,選擇服務器右鍵單擊,選擇“屬性”在“屬性配置”窗口“常規”選項框單擊“啓動參數”,在“啓動參數”中添加“-m”參數。如下圖:
設置好單用戶模式後,重新啓動SQL Server實例,進入真正的master數據庫還原。還原方式可以通過企業管理器進行還原
也可以通過查詢分析器運行T-SQL命令執行還原:
4:恢復完成後,將SQL Server實例重置於多用戶模式
恢復完成後,重新啓動SQL Server實例,去除第2步設置的單用戶模式參數-m。
重新啓動SQL Server實例,打開企業管理器,可以看到所有的用戶數據庫已經可見,且安全性相關登錄帳戶也已經恢復!
在恢復master數據庫時model和msdb數據庫也會被更建,
所以master數據恢復完成後,應該立即還原model和msdb數據庫。
對於其它系統數據庫,如model數據庫和msdb數據庫都是很重要的系統數據庫。model數據庫作爲所有新建的用戶數據庫和tempdb數據庫的樣板,任何新建數據庫默認結構都與model數據庫一樣。
Msdb數據庫是SQLSERVER2000代理服務以及自動化作業使用的數據庫。
這兩個數據庫異常也會影響SQL Server服務器正常工作。
特別是model數據庫,是作爲所有新建數據庫的模板,如果model數據庫損壞也會導致SQL Server服務不能啓動,在這種情況下,也需要先重建master數據庫,然後再依次恢復master,model和msdb數據庫,恢復操作與恢復master數據庫操作相類似。
稍有不同的是,msdb數據庫損壞不會導致SQL Server服務無法啓動,此時只需通過企業管理器進行恢復工作即可!