如何从数据库的完整日志模式还原误删除的数据_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何从数据库的完整日志模式还原误删除的数据假设出问题的数据库为a, 新复原后的数据库为b 1.前提:a数据库的复原模式必需为:完整。 2.备份a数据库的日志,假设文件名为log.bak 3.用法a数据库的最近的完整备份,用法 with norecovery 的方式,复原为b数据库 4.用法复原日志的方式,指定还原的时光点(t),将log.bak文件还原到b数据库,完成后,b数据库的内容即是t时光之前的完整数据。 以下为测试语句 -创建a数据库 create database a go -对a数据库举行备份 backup database a to disk= c:a.bak with form

2、at go -创建测试表 create table a.dbo.tb_test(id int) go -插入数据 insert into a.dbo.tb_test(id) select 1 go -延时1秒钟,再举行后面的操作 -(这是因为sql server的时光精度最大为百分之三秒,不延时的话,可能会导致还原到时光点的操作失败) waitfor delay 00:00:01 go -假设我们现在误操作删除了 a.dbo.tb_test 这个表 drop table a.dbo.tb_test -为了测试还原时光点,先记录操作的时光点 select dt=getdate() into t

3、go -在删除操作后,发觉不应当删除表 tb_test -下面演示了如何复原这个误删除的表 tb_test,以及数据行 -为了避开笼罩a数据库,复原时,生成到b数据库 go -首先,备份a数据库的事务日志(用法事务日志才干还原到指定的时光点) backup log a to disk= c:a_log.bak with format go -接下来,我们要先还原彻低备份(还原日志必需在还原彻低备份的基础上举行),生成数据库b restore database b from disk= c:a.bak with file = 1, move n a to n c:b.m , move n a_log to n c:b.ldf , norecovery, replace go -将事务日志还原到删除操作前(这里的时光对应上面的删除时光,并比删除时光略早 declare dt select dt=dateadd(ms,-20,dt) from t -猎取比表被删除的时光略早的时光 restore log b from disk= c:a_log.bak with recovery,stopat=dt go -查询一下,看表是否复原 select * from b.dbo.tb_test -最后删除我们做的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论