数据库的备份及恢复中遇到的问题

whyuuk 2004-11-20 09:11:23
我用下面的命令,把一个其他地方拷贝过来的数据库备份文件(版本7.0)恢复到我的机器(SQL版本2000)上作为练习所用时,遇到下面的错误提示(原来就是这样用好象可以成功的):
restore database caadb from disk='e:\zzx\xx\caadb_backup.dat' with replace ;

服务器: 消息 5105,级别 16,状态 2,行 1
设备激活错误。物理文件名 'D:\database\sql70\caadb.mdf' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'czdb_dat' 无法还原为 'D:\database\sql70\caadb.mdf'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 5105,级别 16,状态 1,行 1
设备激活错误。物理文件名 'D:\database\sql70\caadb_log.ldf' 可能有误。
服务器: 消息 3156,级别 16,状态 1,行 1
文件 'czdb_log' 无法还原为 'D:\database\sql70\caadb_log.ldf'。请使用 WITH MOVE 选项来标识该文件的有效位置。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。

我的D盘上是没有D:\database\sql70这个路径的。 望高手不吝赐教!提前谢了!
...全文
185 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞狼兄 2005-01-25
  • 打赏
  • 举报
回复
mark
8LY8Apollo 2004-11-24
  • 打赏
  • 举报
回复
RESTORE FILELISTONLY from disk='d:\database20040804'

restore database database
from disk='d:\database20040804'
with move 'A_2001_1_DAT' to 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\databaseA.mdf',
move 'A_2001_1_LOG' to 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\databaseA.ldf'
8LY8Apollo 2004-11-21
  • 打赏
  • 举报
回复
错误原因:
SQL7路径和2000上不一样。
解决办法:
A.使用T-SQL语句定义本地路径。
B.使用企业管理器还原的时候选择本地路径。
Chuff 2004-11-21
  • 打赏
  • 举报
回复
'D:\database\sql70\'这个目录存在了吗?如果不存在先创建后再恢复。。。
whyuuk 2004-11-21
  • 打赏
  • 举报
回复
8LY8Apollo(阿波罗) 兄能不能再详细点说明如何使用T-SQL语句定义本地路径,小弟实在愚笨!谢谢!
WhiteEat 2004-11-20
  • 打赏
  • 举报
回复
例子:
RESTORE DATABASE NWCOPY FROM DISK = 'C:\Backup\NWC1.bak'
WITH REPLACE, RECOVERY,
MOVE 'nwcopy_Data' TO 'E:\Program Files\Microsoft SQL Server\MSSQL\Data\NWCopy_Data.mdf',
MOVE 'nwcopy_Log' TO 'E:\Program Files\Microsoft SQL Server\MSSQL\Data\NWCopy_Log.ldf'
WhiteEat 2004-11-20
  • 打赏
  • 举报
回复
你原来备份的文件路径是'D:\database\sql70\',所以要用move to 语句,更改还原地址.
ljial 2004-11-20
  • 打赏
  • 举报
回复
是用的完全备份的吗

有没有先建立一个数据库

然后再用你的命令还原

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧