差异备份时指定了备份到另外一个文件中。在恢复时提示不能将此差异备份应用到主备份恢复后的数据库中,恢复中止,数据库停在装载状态。如

spring_ok 2003-11-22 12:54:16
如题
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-11-22
  • 打赏
  • 举报
回复
应该是你的处理过程有问题.参考下面的过程,看你的处理过程是否错误

/*--数据库差异备份/恢复
--*/

--清除环境
exec master..xp_cmdshell 'del c:\test.bak'
if exists(select * from master..sysdatabases where name='test')
drop database test
go

--创建数据库
create database test
go

--打开创建的数据
use test
go

--创建测试表
create table t(a int)

--切换回master数据库
use master
go

--插入数据1
insert into test..t select 1
go

--然后进行一次完整备份
backup database test to disk='c:\test.bak'
go

--插入数据2
insert into test..t select 2
go

--再进行一次完整备份
backup database test to disk='c:\test.bak'
go

--插入3,4
insert into test..t select 3
insert into test..t select 4
go

--差异备份:
backup database test to disk='c:\test.bak' with differential

--删除数据库
drop database test

--还原数据库和差异数据库备份
restore database test from disk='c:\test.bak' with file=2,norecovery
restore database test from disk='c:\test.bak' with file=3,recovery

--显示恢复后的数据
select * from test..t
spring_ok 2003-11-22
  • 打赏
  • 举报
回复
请问大力,这里的test.bak是主备份文件吗?它如何处理差异备份的文件呢?
我需要恢复到差异备份。

我这个数据库有十几个G,做一次要约30分钟,试了几次都不成功。请多指教。
brunojiang 2003-11-22
  • 打赏
  • 举报
回复
http://richkid.jetdown.com/

好的东西大家分享。。
pengdali 2003-11-22
  • 打赏
  • 举报
回复
USE master
restore database 数据名 from disk='c:=\test.bak' with REPLACE /*这里不要选择:,norecovery选项*/
pengdali 2003-11-22
  • 打赏
  • 举报
回复
USE master
restore database 数据名 from disk='c:=\test.bak' with REPLACE

27,579

社区成员

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

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