當使用語句還原數據庫時,報如下錯誤:
消息 3234,級別 16,狀態 2,第 29 行
邏輯文件 'LenborMealOrder_Base_2017' 不是數據庫 'Members_01' 的一部分。請使用 RESTORE FILELISTONLY 來列出邏輯文件名。
消息 3013,級別 16,狀態 1,第 29 行
RESTORE DATABASE 正在異常終止。
原因:此數據庫是用sql語句備份而來,引發的錯誤,原備份和還原的sql語句如下:
--備份 BACKUP DATABASE LeaRunFramework_Base_2016 TO DISK = 'c:\DB_BACKUP\LenborMealOrder_Base_2017.bak' --還原 RESTORE DATABASE Members_01 FROM DISK = 'c:\DB_BACKUP\LenborMealOrder_Base_2017.bak' WITH MOVE 'LenborMealOrder_Base_2017' TO 'c:\DB_BACKUP\Members_01.mdf', MOVE 'LenborMealOrder_Base_2017_log' TO 'c:\DB_BACKUP\Members_01.ldf'
解決方案:查找該數據的邏輯文件名,通過下面的語句即可查出,再修改還原語句中的名稱即可。
--獲得數據庫備份文件的信息 restore filelistonly from disk='c:\DB_BACKUP\LenborMealOrder_Base_2017.bak'
修改后的還原語句如下:
--還原 RESTORE DATABASE LenborMealOrder_Base_2017 FROM DISK = 'c:\DB_BACKUP\LenborMealOrder_Base.bak' WITH MOVE 'LeaRunFramework_Base_2016' TO 'c:\DB_BACKUP\LenborMealOrder_Base_2017.mdf', MOVE 'LeaRunFramework_Base_2016_log' TO 'c:\DB_BACKUP\LenborMealOrder_Base_2017.ldf'
執行上述語句即成功還原數據庫,如下圖: