码迷,mamicode.com
首页 > 数据库 > 详细

sql server 误操作数据恢复

时间:2018-07-29 12:54:41      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:日志   info   create   使用   var   数据库备份   交流   from   遇到   

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

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

 

sql server 误操作数据恢复

标签:日志   info   create   使用   var   数据库备份   交流   from   遇到   

原文地址:https://www.cnblogs.com/qiaoliqing/p/9384736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!