一台机器上备份了一个数据库,把备份后的文件打击拷到另一台机器上准备还原时却出了错,提示是:"设备激活错误,物理文件名: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'
--解决第一个问题的详细步骤:
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'