随着客户数据库数据的逐渐增大,为了保证数据库一旦发生问题,能够很快恢复到时间点,不得不指定相应的备份策略,以下总结一下数据库发生问题时,如何恢复到某一时间点:
第一步:创建数据库以及创建表
create database Test
use Test
go
create table A
(
ID intidentity(0,1) primarykey,
Name varchar(50) default'空值',
PublishDate datetime default getdate()
)
----给表中添加测试数据,
insert into A(Name,PublishDate)values('zhangsan',GETDATE())
insert into AselectName+cast(IDasvarchar(10)),PublishDatefromA
第二步:然后完全备份数据库
第三步:然后在插入一部分数据 测试数据库
insert into Aselecttop 1000 Name+cast(IDasvarchar(10)),GETDATE()fromA
第四步: 做日志备份test01.trn
第五步 : 删掉某一时间点之前的数据(数据量共51152,删掉,50152)
注意:当删掉数据时,首先记清楚时间点,一定要做好日志备份和全备份(全备份是为防止了恢复时间点失败,事务日志备份是为了恢复时间点的数据)
第六步:首先日志备份后,目前共有三个备份:一个完全备份和2个事务日志备份
第七步:先按照完全备份进行还原,
注意:如果还原不了,并提示数据库正在运行,建议做好备份后,重启实例,然后再做还原
然后右键-------任务---还原--------事务日志 -----------
时间点选择:
第八步:查看结果:还原时间点是否成功
完成数据库时间点的还原完毕。