--重建之前
--記錄配置信息
--SELECT * FROM sys.configurations;
--確認還原后的系統數據庫文件位置.
--SELECT name, physical_name AS current_file_location
--FROM sys.master_files
--WHERE database_id IN (DB_ID('master'), DB_ID('model'), DB_ID('msdb'), DB_ID('tempdb'));
--確認版本信息
--SELECT
--SERVERPROPERTY('ProductVersion ') AS ProductVersion,
--SERVERPROPERTY('ProductLevel') AS ProductLevel,
--SERVERPROPERTY('ResourceVersion') AS ResourceVersion,
--SERVERPROPERTY('ResourceLastUpdateDateTime') AS ResourceLastUpdateDateTime,
--SERVERPROPERTY('Collation') AS Collation;
--必須有最近的系統數據庫備份。最好養成備份數據庫的習慣。以下大概說一下系統數據庫需要備份.
--導致master 更新並要求進行備份的操作類型包括:
--創建或刪除用戶數據庫。
--用戶數據庫自動增長以容納新數據時,master 數據庫不受影響。
--添加或刪除文件和文件組。
--添加登錄或其他與登錄安全相關的操作。
--數據庫安全操作(如向數據庫中添加用戶)對master 數據庫沒有影響。
--更改服務器范圍的配置選項或數據庫配置選項。
--創建或刪除邏輯備份設備。
--配置用於分布式查詢和遠程過程調用(RPC) 的服務器,如添加鏈接服務器或遠程登錄。
--執行任一修改數據庫的操作后,必須備份model 或msdb 數據庫。這些數據庫是用下列方法修改的:
--msdb 數據庫由下列操作自動更新:
--計划任務。
--在SQL Server 實例中通過導入/導出向導創建存儲Integration Services 包。
--維護聯機備份與還原歷史記錄。
--復制。
--Setup.exe 將恢復模式重置為SIMPLE。
--對基於策略的管理策略或條件進行補充或更改。
--只有用戶更改才能更新model 數據庫。
--一、重建系統數據庫
--命令行下轉換到安裝文件setup.EXE所在目錄(如D:/SQL SERVER 2008 R2 RTM)執行如下命令
--/QUIE 指定在沒有任何用戶界面的情況下運行安裝程序。
--/ACTION=REBUILDDATABASE 標識重建系統數據庫
--/INSTANCENAME=MSSQL200801 實例名稱
--/SQLSYSADMINACCOUNTS="ALEX/LIDONGSHENG"--需要添加的windows賬號。。最好是啟動賬號
--/SAPWD=54546546 SA密碼
--Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQL200801 /SQLSYSADMINACCOUNTS="ALEX/LIDONGSHENG" /SAPWD=54546546
--二、單用戶啟動數據庫實例(記住必須先停止數據庫再進行以下動作)
--命令行下轉換到SQL目錄(D:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQL200801/MSSQL/Binn 根據個人安裝,默認的在C盤)執行如下命令
--sqlservr.EXE -m -s mssql200801
--或者手動
--1.在SQL Server 配置管理器中,單擊“SQL Server 服務”。
--2.在右窗格中,右鍵單擊SQL Server (<實例名>),再單擊“屬性”。
--3。在“高級”選項卡的“啟動參數”框中,鍵入以分號(;) 分隔的參數。
--4.例如,若要以單用戶模式啟動,請在現有啟動選項之前插入-m;,然后重新啟動數據庫。(以單用戶模式啟動SQL Server 時,請首先停止SQL Server 代理。否則,SQL Server 代理可能會首先連接,並阻止您作為第二個用戶連接。)
--重要提示:結束單用戶模式的使用之后,若要以正常的多用戶模式重新啟動服務器實例,必須先從“啟動參數”框中刪除-m;。
--5.單擊“確定”。重新啟動數據庫引擎。
--還原數據庫(打開ssms工具,先斷開連接,再新建查詢,執行下面的還原)
--restore database master from disk='d:/master20110221.bak' with replace
--restore database msdb from disk='d:/msdb20110221.bak' with replace
--restore database model from disk='d:/model20110221.bak' with replace