商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

一个备份和还原的实验

作者:SQLSERVER2005  2006-08-22

  【IT168技术文档】

  RECOVERY

  指示还原操作回滚任何未提交的事务。在恢复进程后即可随时使用数据库。

  NORECOVERY

  指示还原操作不回滚任何未提交的事务。如果稍后必须应用另一个事务日志,则应指定 NORECOVERY

  做一个备份还原的实验,代码如下:

  第一步,完全备份 AdventureWorks

use master backup database AdventureWorks to disk = 'd:AdventureWorks_back.bak' use AdventureWorks go

  创建一个表,insert 一条记录

create table test (a int) go insert into test (a) values (1) go

  备份事务日志,记录上面代码所有事务

backup log AdventureWorks to disk = 'd:AdventureWorks_log.bak' go

  再insert两条记录,之后假设数据库出问题了,需要还原数据库

insert into test (a) values (2) insert into test (a) values (3) go

  出问题后还原刚完全备份的数据库,WITH NORECOVERY,然后还原刚才备份的事务日志

use master restore database AdventureWorks from disk = 'd:AdventureWorks_back.bak' with NORECOVERY go restore log AdventureWorks from disk = 'd:AdventureWorks_log.bak' WITH RECOVERY go

  由于我们在insert第一条记录后就做了日志备份,因为我们还原后看到test表中只有第一条记录

1
【内容导航】
第1页: 第1页
©版权所有。未经许可,不得转载。
[责任编辑:郑杰中]