Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3362393
  • 博文数量: 515
  • 博客积分: 5116
  • 博客等级: 大校
  • 技术积分: 4137
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-30 11:24
个人简介

黑马王子就是我! 技术认证:系统分析师,网络规划设计师,网络工程师,信息系统监理师,系统集成项目管理师,初级程序员,MCSE,MCDBA,CCNA 目前主攻虚拟化技术,VPN,系统架构,集群和高可用性等。

文章分类

全部博文(515)

文章存档

2023年(11)

2022年(17)

2021年(19)

2020年(28)

2019年(42)

2018年(53)

2017年(41)

2016年(33)

2015年(43)

2014年(25)

2013年(13)

2011年(6)

2010年(28)

2009年(47)

2008年(55)

2007年(26)

2006年(28)

分类: 数据库开发技术

2009-11-06 15:22:05

    差异数据库还原的语法与完整数据库还原的相同,只是完整数据库还原必须要执行在附加差异备份之前。当还原完整数据库备份时,数据库必须置为NORECOVERY模式。而且任何你希望还原的事务日志必须在附加了差异备份之后完成,正如示例所演示的。

首先,我通过对TrainingDB数据库执行完整备份、差异备份、事备日志备份来启动这个示例:

SQL Server 2005 从差异备份还原数据库  - 火狐.net - 我的博客

又过了一段时间

 

过了一段时间

 
SQL Server 2005 从差异备份还原数据库  - 火狐.net - 我的博客

现在,我将演示执行RESTORE,将数据库还原到最后事务日志备份完成时的状态:

事务日志备份

 

差异备份

 

完整数据库备份

 
SQL Server 2005 从差异备份还原数据库  - 火狐.net - 我的博客

这个查询返回:

已为数据库'TrainingDB',文件'TrainingDB'(位于文件1上)处理了1672页。

已为数据库'TrainingDB',文件'TrainingDB_log'(位于文件1上)处理了3页。

RESTORE DATABASE成功处理了1675页,花费1.801秒(7.615MB/秒)。

已为数据库'TrainingDB',文件'TrainingDB'(位于文件1上)处理了40页。

已为数据库'TrainingDB',文件'TrainingDB_log'(位于文件1上)处理了1页。

RESTORE DATABASE成功处理了41页,花费0.724秒(0.463MB/秒)。

RESTORE LOG成功处理了0页,花费0.184秒(0.000MB/秒)。

解析

差异备份捕捉数据库在最后一次完整数据库备份之后发生的变化。差异还原使用了与完整数据库还原相同的语法,只是它们必须总是在完整数据库还原(设置NORECOVERY)之后。在此技巧中,数据库最初从完整数据库还原,然后是差异备份的还原,最后是事务日志备份的还原。差异RESTORE命令的组成与前面RESTORE示例中的相似,只不过它是基于差异备份文件的。在最后一次还原操作时,指定RECOVERY选项使数据库处于可用状态。

阅读(2887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~