还原数据库时出现的问题 “设备激活错误”的解决办法

本文详细介绍了解决 SQL Server 数据库还原过程中遇到的物理文件名错误的方法。通过使用 WITH MOVE 选项来指定正确的物理文件路径,可以成功地完成数据库的还原操作。文中提供了两种还原方法:一是通过企业管理器进行图形化操作;二是使用 SQL 语句进行命令行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一台机器上备份了一个数据库,把备份后的文件打击拷到另一台机器上准备还原时却出了错,提示是:"设备激活错误,物理文件名:d:/program files/microsoft sqlserver/MSSQL/finance_data.mdf"可能有误.文件finance_DATA无法还原为d:/program files/microsoft sqlserver/MSSQL/finance_data.mdf.请使用WITH MOVE 选项来标识该文件的有效位置..."
即如下图所示的错误
解决方法:
目录不对
--解决第一个问题的详细步骤:

1.企业管理器中的方法:
--右键"数据库"
--所有任务
--还原数据库
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"-
-确定


2.用SQL语句的方法(假设你的备份文件名为: c:/xx.bak

--列出备份文件中的逻辑文件名
restore filelistonly from disk='c:/xx.bak'


--用语句恢复,根据上面列出的逻辑文件名使用move选项
restore database 恢复后的数据库名
from disk='c:/xx.bak'
with move '逻辑数据文件名1' to 'c:/物理数据文件名1'
,move '逻辑数据文件名2' to 'c:/物理数据文件名2'
...
,move '逻辑数据文件名n' to 'c:/物理数据文件名n'

问题:



解答:

--我的经验:
--先在查询分析器中看一下原来备份前的数据库情况,通常只有不是自已备份的情况下才如此做,如果是自已做的当然知道是什么数据库了!
restore filelistonly from disk='J:/Java组件/源码示例/Eclipse写的商城购物系统/newshop/db/db_shop备份'
--注意:他提供的是备份文件而不是MDF文件,不能用附加的方法
--然后在企业管理器中建一个空的数据库,如本例是:db_bookmanage
--然后在企业管理器中的方法:
--右键"数据库"下的"db_bookmanage"
--选择“所有任务”
--选择“还原数据库”
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上强制还原"
--确定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值