有時候由於一些誤操作可能會引起SQL Server中的系統數據庫遭到破壞,這些系統數據庫主要包括master、model、msdb和resource這4個數據庫。如果這些數據庫遭到了破壞,很有可能會導致數據庫的其他操作出現問題,並對數據庫的穩定性產生影響。當這些數據庫被意外修改時,我們可能需要重建這些數據庫。
在SQL Server 2000的時候,我們可以使用rebuildm.exe來重建Master數據庫,但到了SQL Server 2005的時候,這個工具被取消了的,我們需要使用安裝程序來重建系統數據庫。SQL Server 2008重建系統數據庫的方法與SQL Server 2005類似。
重建系統數據庫前,最好對各個用戶數據庫進行備份以免造成數據丟失。重建系統數據庫時,需要以命令行來啟動安裝程序。重建過程可以不需要SQL Server安裝文件,在沒有安裝文件的時候可以到X:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release文件夾中找到SQL Server的setup.exe。然後在命令提示符下用以下參數啟動它。
action=rebuilddatabase、instancename=實例名(默認是MSSQLSERVER)、sqlsysadminaccounts=具有權限的系統管理員名、sapwd=重建後sa的密碼
還可以加上Q或Quite參數讓重建過程不彈出對話框自動完成。更多關於從命令提示符安裝SQL Server的參數可以參考http://msdn.microsoft.com/zh-cn/library/ms144259.ASPx。
執行完成後不會彈出任何成功的提示,只是命令提示符會重新回到就緒狀態允許用戶繼續鍵入字符。這時可以打開X:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log文件夾下的Summary.txt文件,這裡記載了剛才完成的操作。在文件頂部有個概要描述,文件底部有詳細描述,如果都顯示已通過一般就已經成功重建了的,更詳細的信息可以看日期_時間目錄下的 Detail.txt文件。
可能碰到的問題:
在重建系統數據庫時可能會因為權限問題導致操作失敗,Summary.txt的詳細描述和Detail.txt中會顯示有拒絕訪問的異常。首先請確定當前賬戶擁有管理員權限,如果還無法解決,請打開組策略編輯器(運行gpedit.msc),在計算機配置Windows設置安全設置本地策略用戶權限分配,找到“調試程序”項,將Administrators組或當前用戶加入其中,注銷並重新登陸後再重建數據庫。