2014年10月16日 星期四

MSSQL 進行資料庫還原時出現 3154 的錯誤解決方法

剛剛是附加的問題,現在則是遇上了資料庫還原的問題,
 在SQL Server 2014版本中還原從SQL Server 2008備份出來的數據庫時,
會出現錯誤:「備分組包含現有的 '***' 資料庫以外的資料庫備份。RESTORE DATABASE 正在異常結束。 (Microsoft SQL Server,錯誤: 3154)」。 
久遠前學習到的在SQL Server要作資料庫還原時,
需要首先建立一個資料庫(舊的也行總之要先有一個資料庫實體),然後才能可以進行資料庫還原 
1.建立空的資料庫
2.在資料庫上按右鍵工作-〉還原-〉檔案和檔案群組
設定好選項後就出現下歹3154的錯誤

突然發現  2012、2014版上可以直接在在資料庫的ROOT層上操作還原
設定上和原有的一模一樣,只差在一個有建好資料庫,一個沒建資料庫。
總之,這個問題就這樣的被排解掉了。打個文記錄一下

1 則留言:

Unknown 提到...

--還原資料庫
ALTER DATABASE [BKUP] SET OFFLINE WITH ROLLBACK IMMEDIATE --断开其他用户与数据库的连接

USE MASTER --这里注意要使用MASTER,以免出现待还原库被占用的情况
--RESTORE FILELISTONLY From disk ='D:\MSSQL\BACKUP\EFF0228.bak' --參考指令,可查出資料庫實體檔案名稱(先查詢再寫WITH MOVW指令,資料庫實體檔案名稱比較不會寫錯)
RESTORE DATABASE [BKUP] --BKUP为待还原库名
FROM DISK = 'D:\MSSQL\BACKUP\EFF0228.bak' ---备份文件名
WITH MOVE 'EFF_Data' TO 'D:\MSSQL\DATA\BKUP_Data.MDF', -- 'EFF_Data'=>原始資料庫實體檔案名稱 'D:\MSSQL\DATA\BKUP_Data.MDF'=>還原後資料庫實體檔案名稱
MOVE 'EFF_Log' TO 'D:\MSSQL\DATA\BKUP_log.LDF', --'EFF_Log'=>原始資料庫日志實體檔案名稱 'D:\MSSQL\DATA\BKUP_log.MDF'=>還原後資料庫日志實體檔案名稱
STATS = 10, REPLACE
GO

ALTER database [BKUP] set online --开启其他用户和数据库的连接