標(biāo)題:
MSSQL還原單mdf文件報(bào)1813錯(cuò)誤
[打印本頁(yè)]
作者:
hushe
時(shí)間:
2015-12-22 19:42
標(biāo)題:
MSSQL還原單mdf文件報(bào)1813錯(cuò)誤
序:
MS SQL Server 2008 r2附加無(wú)ldf日志的mdf數(shù)據(jù)庫(kù)時(shí)報(bào)1813錯(cuò)誤。提示數(shù)據(jù)庫(kù)被強(qiáng)制分離,無(wú)日志不能還原之類(lèi)的話。
原因:
原因系統(tǒng)正在執(zhí)行定時(shí)作業(yè),沒(méi)有主要到多次強(qiáng)制分離了數(shù)據(jù)庫(kù)。當(dāng)附加回mdf文件時(shí)報(bào)錯(cuò)誤1813。總之都是手賤惹的禍。。。
解決辦法:
1、首先要備份好mdf文件,如果他沒(méi)了經(jīng)理非吃了你不可。都不吐骨頭的。
2、在數(shù)據(jù)庫(kù)中新建一個(gè)需要附加同名的數(shù)據(jù)庫(kù)。例如【
testdb】
3、停止SQL Server服務(wù)
4、找到該數(shù)據(jù)庫(kù)所在的文件夾、并刪除testdb_log.ldf與testdb.mdf文件
5、 把需要附加的數(shù)據(jù)庫(kù)【testdb.mdf】文件拷貝到當(dāng)前路徑。
6、啟動(dòng)SQL Server服務(wù),通過(guò)企業(yè)管理器連接數(shù)據(jù)庫(kù)。
7、此時(shí)的1步中新建的數(shù)據(jù)庫(kù)地址已經(jīng)指向你需要附加數(shù)據(jù)庫(kù)的mdf文件了。但是現(xiàn)在數(shù)據(jù)庫(kù)還是無(wú)法打開(kāi)的。
8、執(zhí)行語(yǔ)句:
ALTER DATABASE testdb SET EMERGENCY
9
、執(zhí)行語(yǔ)句:
ALTER DATABASE
testdb
SET SINGLE_USER
10、
執(zhí)行語(yǔ)句:
ALTER DATABASE
testdb
REBUILD LOG ON (NAME=dbname_log, FILENAME='C:\XXX\dbname_log.ldf')
其中
FILENAME為你需要新建ldf日志的路徑已經(jīng)ldf文件名稱(chēng)。運(yùn)行后會(huì)出現(xiàn)一條警告“
執(zhí)行后,會(huì)有警告信息“警告: 數(shù)據(jù)庫(kù) 'xhtyjbbs' 的日志已重新生成。已失去事務(wù)的一致性。RESTORE 鏈已斷開(kāi),服務(wù)器不再有以前的日志文件的上下文,因此您需要了解它們的內(nèi)容。應(yīng)運(yùn)行 DBCC CHECKDB 驗(yàn)證物理一致性。數(shù)據(jù)庫(kù)已置于 dbo-only 模式。在準(zhǔn)備使數(shù)據(jù)庫(kù)可用時(shí),需要重置數(shù)據(jù)庫(kù)選項(xiàng),并刪除所有多余的日志文件!
”別鳥(niǎo)他。
11、
DBCC CHECKDB(
testdb
, REPAIR_ALLOW_DATA_LOSS)
這一步會(huì)比較卡,可能會(huì)導(dǎo)致界面未響應(yīng)。多等一會(huì)。成功后數(shù)據(jù)庫(kù)變成了單用戶(hù)模式,下面兩步驟修改成多用戶(hù)模式。
12、
ALTER DATABASE
testdb
SET MULTI_USER
13、
ALTER DATABASE
testdb
SET ONLINE
尾:
不出意外的話數(shù)據(jù)庫(kù)應(yīng)該可以使用。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1