SQL2000中用backup 备份数据库

SQL2000中用backup 备份数据库

但在用restore命令恢复时,用只备份一次的bak文件恢复可以,但如果是保存的几次备份数据的bak文件则出错,为什么会出错?怎么解决?
问题补充:我的备份语句,backup database test to disk='f:\1.bak'
在查询分析器中执行一次成功,1.bak为1M,再执行一次,1.bak变为2M,
我用 restore database test from disk='f:\1.bak'还原时
系统提示:
服务器: 消息 3201,级别 16,状态 2,行 1
无法打开备份设备 'f:\1.bak'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。

请问这是什么原因?
 
 
 
 
首先确保你在备份的时候没有使用with Format或with init对现有备份文件进行覆盖操作。
对于一个备份文件有多个备份集的情况,在还原的时候没有指定还原哪个备份集,默认是还原最早的备份集。
在还原之前,使用如下命令查看备份集情况
restore headeronly from disk='备份的完整路径'
结果集中Postion就表示的备份集的备份先后顺序,一般后备份的postion的值比较的。
这时候在restore命令里加上with file=文件号(就是postion的值),就还原相应的备份集了。
比如还原postion为2的备份集
restore database 数据库名 from disk='备份的完整路径' with file=2
 
 
 
 
--数据库复制还原模板(1)
RESTORE DATABASE 数据库名
FROM DISK='***.dmp' --dump文件路径
WITH MOVE '数据库名_Data' TO '***.mdf', --待恢复数据库的mdf文件路径
MOVE '数据库名_Log' TO '***.ldf' --待恢复数据库的ldf文件路径

--数据库复制还原模板(2)
RESTORE DATABASE 数据库名
FROM DISK='***.DMP'

--查看设备的逻辑文件名
RESTORE FILELISTONLY FROM DISK='***.DMP'

--备份数据库到设备
BACKUP DATABASE 数据库名
TO DISK='***.DMP' --带备份的数据库dump文件路径

--清掉数据库日志
DUMP TRAN 数据库名 WITH NO_LOG
posted on 2007-03-16 13:06  念时  阅读(2201)  评论(0编辑  收藏  举报

细节决定成败!态度决定一切!