Sql Server 逻辑文件 '' 不是数据库 '' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。


当使用语句还原数据库时,报如下错误:

 消息 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'


执行上述语句即成功还原数据库,如下图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM