sql server 误操作数据恢复

对于在实际的数据库操作中,可能会遇到的数据误操作的情况,进行数据恢复。

1.版本要求:Sql server 2008及以上版本

2.要有误操作前的完整数据库备份,并且备份后未做过日志截断处理

以下进行测试:

1.建立测试数据库,恢复模式选为完整:

2.对数据库做完整备份:

3.测试数据库中建表,并插入测试数据:

Use test;

go

create table mytable

(

code varchar(20) null,

name varchar(64) null,

date1 datetime null

)

Go

declare @n int ,@dateStop datetime

set @n =1

set @dateStop = dateadd(minute,2,getdate()) 

while getdate() <= @dateStop

begin

    insert into mytable

    select @n,cast(@n as varchar(12))+'测试',getdate() waitfor delay '00:00:00:10'

    set @n = @n + 1

end 

4.恢复至:2018-07-29 10:46:32之前的数据

5.做删除操作,误操作产生

delete from mytable

6.做事务日志备份:

7.误操作出现后,如果是生产环境,为避免影响其他正常的业务,使用步骤2中做的原始完整备份进行还原,可以在其他服务器上还原,也可以在本机上还原为其他的数据库名,本例还原为test2:

8.使用事务日志进行还原,并选择需要还原的时间点:

9.检查数据库test2中的数据,恢复至:2018-07-29 10:46:32之前:

注意事项:

1.日常数据库维护时,定期进行数据库完整备份

2.如果有截断日志的操作,应在截断后,立即做数据库完整备份,否则日志不连续,无法还原

3.如果日志增量较大,建议定期做截断、备份。

以上总结,供参考。经验交流,+QQ:1002732169

猜你喜欢

转载自www.cnblogs.com/qiaoliqing/p/9384736.html
今日推荐