sql server附加數(shù)據(jù)庫(kù)錯(cuò)誤
文章出處:http://www.mjagi.com 作者:開(kāi)發(fā)部 人氣: 發(fā)表時(shí)間:2014年04月14日
解決方法:
最好新建一個(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ù)名稱'
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ù)交流