sql server附加數(shù)據(jù)庫(kù)錯(cuò)誤
文章出處:http://hlpi.cn 作者:開(kāi)發(fā)部
解決方法:
最好新建一個(gè)原要恢復(fù)的數(shù)據(jù)庫(kù)一樣的新數(shù)據(jù)庫(kù),新數(shù)據(jù)庫(kù)名字要恢復(fù)的數(shù)據(jù)庫(kù)名字相同,。完成之后,找到新建的數(shù)據(jù)庫(kù)【***.mdf和***.ldf】數(shù)據(jù)庫(kù)原文件所在的文件目錄,,把要附加的數(shù)據(jù)庫(kù)文件文件修改為新數(shù)據(jù)庫(kù)相同的名字,,關(guān)閉或斷開(kāi)與數(shù)據(jù)庫(kù)的任何操作,,粘貼要恢復(fù)的數(shù)據(jù)庫(kù)文件,,即可,。
數(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ù)名稱(chēng)'
exec sp_dboption @databasename, N'single', N'true' --將目標(biāo)數(shù)據(jù)庫(kù)置為單用戶(hù)狀態(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ù)置為多用戶(hù)狀態(tài)
這個(gè)若執(zhí)行不了可以使用下面的語(yǔ)句:
USE MASTER
GO
如果以上有什么描述不對(duì),,或者是您有什么好的方法都可以與我公司技術(shù)交流