【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页 |