數(shù)據(jù)庫(kù)因斷電造成可疑的解決方法
文章出處:http://5052h112.com 作者: 人氣: 發(fā)表時(shí)間:2012年09月11日
問(wèn):數(shù)據(jù)庫(kù)因斷電造成可疑的解決方法
解答:
查看數(shù)據(jù)庫(kù)文件路徑方法:文件-右擊-屬性
詳細(xì)的恢復(fù)方法:
1、停止數(shù)據(jù)庫(kù)服務(wù)。
2、將需要恢復(fù)的數(shù)據(jù)庫(kù)文件復(fù)制到另外的位置。
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文件覆蓋新數(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ù):
use master
declare @databasename varchar(255)
set @databasename='要恢復(fù)的數(shù)據(jù)庫(kù)名稱'
exec sp_dboption @databasename, N'single', N'true' --將目標(biāo)數(shù)據(jù)庫(kù)置為單用戶狀態(tài)
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標(biāo)數(shù)據(jù)庫(kù)置為多用戶狀態(tài)
這個(gè)若執(zhí)行不了可以使用下面的語(yǔ)句:
USE MASTER
GO
如果以上有什么描述不對(duì),或者是您有什么好的方法都可以與我公司技術(shù)交流