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

想把'd:\AdventureWorks2008R2-Full Database Backup.bak'还原到‘D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA’

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

用restore filelistonly from disk='d:\AdventureWorks2008R2-Full Database Backup.bak'

显示结果如下

再运行  RESTORE DATABASE AdventureWorks2008R2
   FROM disk='d:\AdventureWorks2008R2-Full Database Backup.bak'
   WITH NORECOVERY, 
      MOVE 'AdventureWorks2008R2_Data' TO 
'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\NewAdvWorks2008R2.mdf', 
      MOVE 'AdventureWorks2008R2_Log' 
TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\NewAdvWorks2008R2.ldf'


RESTORE LOG AdventureWorks2008R2
   FROM disk='d:\AdventureWorks2008R2-Full Database Backup.bak'
   WITH RECOVERY

想把原来在安装 在C盘的数据库,还原到D盘下;

结果显示数据库 "AdventureWorks2008R2" 不存在。RESTORE 只能在还原主文件的完整备份或文件备份时创建数据库。

立马检查数据库路径。结果我发现我的实例名被我改过了。  比默认的实例名多了一个P,

于是改为如下

 

RESTORE DATABASE AdventureWorks2008R2
   FROM disk='d:\AdventureWorks2008R2-Full Database Backup.bak'
   WITH NORECOVERY, 
      MOVE 'AdventureWorks2008R2_Data'   ---用restore filelistonly from disk='d:\AdventureWorks2008R2-Full Database                                                                                  ---Backup.bak'查得

   TO 
'd:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVERP\MSSQL\Data\AdvWorks2008R2.mdf'
      MOVE 'AdventureWorks2008R2_Log'    ---方法同上
TO 'd:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVERP\MSSQL\Data\AdvWorks2008R2.ldf'
RESTORE LOG AdventureWorks2008R2
   FROM disk='d:\AdventureWorks2008R2-Full Database Backup.bak'
   WITH RECOVERY

 

总结: 如果还原数据时,存放数据库的目录跟保存时不一致时要用到

restore filelistonly from disk='XXXXX.bak' 查看原数据库的路径信息和逻辑名

然后用

 

RESTORE DATABASE 数据库逻辑名
   FROM disk='备份源的文件.bak'
   WITH NORECOVERY, 
      MOVE  数据库数据文件逻辑名      TO  目标路径及文件名,文件名可以不同,文件名不同时表示还原时同时改了文件名
 
      MOVE '数据库日志文件逻辑名' 
TO    目标路径及文件名,文件名可以不同,文件名不同时表示还原时同时改了文件名


RESTORE LOG  数据库逻辑名   --还原日志文件
   FROM disk=''备份源的文件.bak'
   WITH RECOVERY

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值