
1、停止數(shù)據(jù)庫(kù)服務(wù)。
2、將安裝路徑下服務(wù)器下data下的ldf和mdf文件拷貝到其他磁盤
3、啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。
4、確認(rèn)要恢復(fù)的數(shù)據(jù)庫(kù)文件已經(jīng)成功復(fù)制到另外的位置,然后在SQL Server Management Studio中刪除要恢復(fù)的數(shù)據(jù)庫(kù)。
5、新建同名的數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)文件名、路徑也要相同)。
6、停止數(shù)據(jù)庫(kù)服務(wù)。
7、用第2步中備份的.mdf和.ldf文件覆蓋新數(shù)據(jù)庫(kù)的同名文件。
8、啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。
9、運(yùn)行alter database dbname set emergency,將數(shù)據(jù)庫(kù)設(shè)置為emergency mode
10、運(yùn)行下面的命令就可以恢復(fù)數(shù)據(jù)庫(kù):
declare @databasename varchar(255) -------申明變量@databasename
set @databasename=‘?dāng)?shù)據(jù)庫(kù)名’ --------你的.mdf文件文件名將你的數(shù)據(jù)庫(kù)名這個(gè)值賦予變量
exec sp_dboption @databasename, N’single‘, N’true’ ------將目標(biāo)數(shù)據(jù)庫(kù)置為單用戶狀態(tài)使用(執(zhí)行sp_dboption,參數(shù)值為@databasename(剛才賦予的數(shù)據(jù)庫(kù)名), N’single‘, N’true’ )
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) ----快速修復(fù)數(shù)據(jù)庫(kù)
dbcc checkdb(@databasename,REPAIR_REBUILD) ----重建索引并修復(fù)
exec sp_dboption @databasename, N’single‘, N’false’—將目標(biāo)數(shù)據(jù)庫(kù)置為多用戶狀態(tài)
11、數(shù)據(jù)庫(kù)這時(shí)候就回復(fù)正常了