AJun0719 发表于 2021-8-16 18:51:32

通过分析“SQL事务日志”的方式恢复不鉴戒被delete的数据库数据

写得比较具体啰嗦,所以内容看起来多,其实很简朴,有基础的童鞋可以直接备份数据库,安装软件,然后拉到文章底部看最后几步即可


~~ 正文开始 ~~




前几天不小心把存在表里的生产数据(为啥存在本地?因为临时在本地写了个demo,调接口获取的数据)给删了,不多不少一万多条数据,最后终于恢复回来,今天分享下恢复过程


为了防止数据被覆盖,我赶紧停止了任何数据操纵和数据备份,并在网上找起教程,大概的方向是通过“SQL事件日志”来恢复被删的数据~~~




====数据备份开始====


这里简朴说下数据备份吧,不要用软件来备份数据,因为有些数据库设置的‘简朴模式’,备份会删除日志,导致恢复失败。


1、首先分离数据库


https://p5.toutiaoimg.com/large/pgc-image/73e28ab314014b299911f5f6c41539ad




2、【重要!!!】
找到数据库文件路径,拷贝一份备用。(为了保险,一定要备份),一般文件路径都是这个:
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA



https://p6.toutiaoimg.com/large/pgc-image/29653afd4dbd42708174bd387d5b352d


3、备份完后把分离的数据库附加归去


https://p9.toutiaoimg.com/large/pgc-image/cc8a71a518614a2d911e1317c55487e0


=====数据备份完成====


我并不会分析日志,只能找工具辅助了咯。刚开始找的是Log Explorer,结果客户端装上了,服务端死活装不上,版本还老得离谱,装不上就当拉倒吧,,,,,所以我又双叒去网上找了另一款名为ApexSQLLog 的数据恢复软件


ApexSQL Log是为数据库开发用户打造的一款实用误操纵恢复工具,软件可以帮助用户阅读SQL事件日志以稽核更改和回滚事件,可以有效地找回丢失或者修改的数据库数据,支持SQL Server 2008、2005等版本


====软件安装开始====


安装软件运行情况,必要.NET 4.5,假如之前装过就不用装了,没有的话自己下载安装
链接:
https://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe


ApexSQLLog 安装包下载链接:
https://ajun719.lanzoui.com/iF9QEsppv7g

软件无需安装,直接解压压缩包即可利用


====软件安装完成====
====软件利用与数据恢复====


1、解压后,打开文件,找到以下所示程序文件,鼠标右键,以管理员身份运行


https://p26.toutiaoimg.com/large/pgc-image/e697ed6a491649a098c1cc3e748f0aba


https://p26.toutiaoimg.com/large/pgc-image/bb78ef3e331c4a2e9c515ed76c5127ff


2、选择和登录必要恢复数据的数据库


https://p3.toutiaoimg.com/large/pgc-image/f4a5a1af495f49f7883cd03ed658423a


等待程序自动查找数据库和日志,别心急


https://p6.toutiaoimg.com/large/pgc-image/1339c37eed7341c6b8b377aff9f3df39


3、选择必要恢复的数据的日志文件,一般默认就好


https://p3.toutiaoimg.com/large/pgc-image/5c9817500ba64d29b42a1b2caacff3fe


4、选择以表格形式展示数据


https://p5.toutiaoimg.com/large/pgc-image/ad5e6f5ce1ba4527a6cbadf7c81e3cfc


5、选择必要恢复数据的时间段,一般默认,,然后点右下角“Finish”


https://p6.toutiaoimg.com/large/pgc-image/24b751a8efe14822a8a1ef3bc531818c




====接下来进行数据恢复操纵=====


筛选数据可以选择时间、操纵人、增删改操纵(具体见下图)


图1:通过时间筛选你要的数据
https://p6.toutiaoimg.com/large/pgc-image/f83d168e64074bbe921fe7633fc8ded9


图2:通过语句或表筛选你要的数据
https://p6.toutiaoimg.com/large/pgc-image/192a4a5a25d5407884687f763df446d8


图3:通过用户筛选你要的数据
https://p3.toutiaoimg.com/large/pgc-image/bf5691a74b644cd79d00fb45bdbe0856


选完筛选条件后点击“apply”应用,查出来的数据应该就是你想恢复的了


https://p6.toutiaoimg.com/large/pgc-image/3d053ddb23dc4a9d9245ee2df260a954




======================
好比我要恢复被误删的数据,,筛选出delete语句的记录,勾选数据,恢复




https://p26.toutiaoimg.com/large/pgc-image/dd65bb074f864a2eb37f1802d5841a64




软件就会天生这些被删数据对应的insert语句,然后你就可以生存到本地,通过insert语句恢复被删除的数据啦


https://p5.toutiaoimg.com/large/pgc-image/e7e27a30e0d44b19934e58d09c33f17d






====软件利用与数据恢复结束====




希望这篇文章对你有帮助!记得帮忙点赞转发哦,感谢!
页: [1]
查看完整版本: 通过分析“SQL事务日志”的方式恢复不鉴戒被delete的数据库数据