Sql Server 逻辑文件 '' 不是数据库 '' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
Posted 永不言弃!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\'
执行上述语句即成功还原数据库,如下图:
以上是关于Sql Server 逻辑文件 '' 不是数据库 '' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:1772,但实际为 0:0)。在文件 'D:Program FilesMicrosoft SQL(代