sql如何通过数据库日志恢复数据 (sqlserver误删除表后如何恢复)

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

~~ 正文开始 ~~

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

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

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

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

1、首先分离数据库

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

2、【重要!!!】

找到数据库文件路径,拷贝一份备用。(为了保险,一定要备份),一般文件路径都是这个:

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

我并不会分析日志,只能找工具辅助了咯。刚开始找的是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*ex.e**

ApexSQLLog 安装包*载下**链接:

https://ajun719.lanzoui.com/iF9QEsppv7g

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

====软件安装完成====

====软件使用与数据恢复====

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

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

图1:通过时间筛选你要的数据

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

图2:通过语句或表筛选你要的数据

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

图3:通过用户筛选你要的数据

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

======================

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

sql数据库delete删除后怎么恢复,sqlserver删除的表数据怎么恢复

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

希望这篇文章对你有帮助!记得帮忙点赞转发哦,感谢!