sql server附加數(shù)據(jù)庫錯誤
文章出處:http://m.forcongress-2020.com 作者:開發(fā)部 人氣: 發(fā)表時間:2014年04月14日
解決方法:
最好新建一個原要恢復的數(shù)據(jù)庫一樣的新數(shù)據(jù)庫,新數(shù)據(jù)庫名字要恢復的數(shù)據(jù)庫名字相同。完成之后,找到新建的數(shù)據(jù)庫【***.mdf和***.ldf】數(shù)據(jù)庫原文件所在的文件目錄,把要附加的數(shù)據(jù)庫文件文件修改為新數(shù)據(jù)庫相同的名字,關(guān)閉或斷開與數(shù)據(jù)庫的任何操作,粘貼要恢復的數(shù)據(jù)庫文件,即可。
數(shù)據(jù)庫可異情況處理方法如下:
查看數(shù)據(jù)庫文件路徑方法:文件-右擊-屬性
詳細的恢復方法:
1、停止數(shù)據(jù)庫服務(wù)。
2、將需要恢復的數(shù)據(jù)庫文件復制到另外的位置。
3、啟動數(shù)據(jù)庫服務(wù)。
4、確認要恢復的數(shù)據(jù)庫文件已經(jīng)成功復制到另外的位置,然后在SQL Server Management Studio中刪除要恢復的數(shù)據(jù)庫。
5、新建同名的數(shù)據(jù)庫(數(shù)據(jù)庫文件名也要相同)。
6、停止數(shù)據(jù)庫服務(wù)。
7、用第2步中備份的.mdf文件覆蓋新數(shù)據(jù)庫的同名文件。
8、啟動數(shù)據(jù)庫服務(wù)。
9、運行alter database dbname set emergency,將數(shù)據(jù)庫設(shè)置為emergency mode
10、運行下面的命令就可以恢復數(shù)據(jù)庫:
use master
declare @databasename varchar(255)
set @databasename='要恢復的數(shù)據(jù)庫名稱'
exec sp_dboption @databasename, N'single', N'true' --將目標數(shù)據(jù)庫置為單用戶狀態(tài)
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標數(shù)據(jù)庫置為多用戶狀態(tài)
這個若執(zhí)行不了可以使用下面的語句:
USE MASTER
GO
如果以上有什么描述不對,或者是您有什么好的方法都可以與我公司技術(shù)交流