1. 程式人生 > >MS SQL Server 2008 master資料庫損壞故障解決

MS SQL Server 2008 master資料庫損壞故障解決


 本地電腦上安裝的MS SQL Server 2008 R2可能因為硬碟原因,導致SQL Server服務無法啟動,在事件檢視器中看到若干錯誤和資訊,其中有兩條提示可能master損壞:
1、錯誤:傳遞給資料庫 'master' 中的日誌掃描操作的日誌掃描號 (184:416:1) 無效。此錯誤可能指示資料損壞,或者日誌檔案(.ldf)與資料檔案(.mdf)不匹配。如果此錯誤是在複製期間出現的,請重新建立釋出。否則,如果該問題導致啟動期間出錯,請從備份還原。
2、資訊:無法恢復 master 資料庫。SQL Server 無法執行。請利用完整備份還原 master 資料庫,修復它,或者重新生成它。有關如何重新生成 master 資料庫的詳細資訊,請參閱 SQL Server 聯機叢書。


重新安裝SQL Server問題不難解決,但太耗時。google到一個快捷的恢復方法,分享如下:


1、複製model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf檔案。

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
注:以上“X:\Program Files\Microsoft SQL Server”為SQL Server的安裝目錄。以下的“C:\Program Files\Microsoft SQL Server”為系統盤下的目錄


2、定位並執行安裝命令


首先找到安裝命令:
C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe


如果只是Windows身份驗證模式,只需要如下語法即可:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts> 
如果是複合身份驗證模式,則需要使用/SAPWD引數提供sa的密碼:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts> /SAPWD=<sa password>


我安裝時設定的是複合認證模式,SQL Server系統管理員帳號是administrators組,sa密碼是123456。並且就一個預設例項:MSSQLSERVER。
所以在命令列執行如下命令:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrators /SAPWD=123456


執行完畢後沒有任何提示資訊(不管成功與否),但是可以馬上在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt中檢視安裝日誌。


最後,在Sql Server Configuration Manager中啟動SQL Server服務成功