通过sqlserver日志恢复误删除的数据

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:通过sqlserver日志恢复误删除的数据      如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解。     我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web.config文件里面的数据库连接字符串没有加密,而我的数据库远程连接又没有做IP限制,黑客通过数据库客户端连上我的数据库后,将所有的表都Delete掉了,所以大家一定要有一个好习惯将数据库连接字符串加密或者对远程访问数据库的IP作限制。
原文: 通过sqlserver日志恢复误删除的数据

 

    如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解。

    我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web.config文件里面的数据库连接字符串没有加密,而我的数据库远程连接又没有做IP限制,黑客通过数据库客户端连上我的数据库后,将所有的表都Delete掉了,所以大家一定要有一个好习惯将数据库连接字符串加密或者对远程访问数据库的IP作限制

    因被黑客Delete掉所有数据的具体时间点我不清楚,所以我就用了一个工具Log Explorer来查看分析数据库日志,看具体是什么时候被Delete掉的(若你已经知道想要还原的时间点,就不用使用此工具啦),至于Log Explorer如何安装使用的,这里就不赘述了,去百度一搜一大堆,安装的时候Client和Server都选,然后安装中会有一步让你输入数据库的用户名和密码,其他不懂的就疯狂下一步吧。

    

    通过Log Explorer工具我查看到被删除的时间点是:07-10 09:46:29.880,那我一会把数据还原到07-10 09:46:29.879就好咧

下面开始言归正传的进行恢复操作了

1、将数据库日志备份一下,用T-Sql语句

?
1
BACKUP LOG shua TO DISK='c:\shua_log.bak' WITH FORMAT

 

 

2、因我的数据库每天都有自动完整备份,找一个最近时间的完整备份,来还原一下,这里我不往旧库覆盖了,直接还原成一个新的数据库shua2

用SQL Server Management Studio工具进行界面操作吧,写sql语句还原太复杂了,不会啊。

对着数据库->右击->还原数据库,下图是我在[还原数据库]界面->[常规]选项卡页的填写情况

然后点【选项】选项卡页,注意这一步非常重要哦

点击【不对数据库执行任何操作,不回滚来提交的事务】,然后确定。如果数据库比较大,这个还原要等很长时间,出去吸几口新鲜空气吧,大功就要告成了。

 

3、待数据库还原成功后,是这个状态

显示(正在还原...),对着shua2这个数据库右击->任务->还原->还原事务日志。

如上图所填,先填刚开始备份的日志c:\shua_log.bak,然后勾选[还原],最重要的是选择时间点,可惜这个时间点不能选毫秒,所以我就选了29秒,这个时候会还原29.0秒以前的数据,而我的数据是从29.880秒被删除的,所以选29秒妥妥的;为什么我没有选择28秒呢?因为我的数据库每一秒的改变都很大,所以我尽可能的缩小这个时间范围。

填好后,点【确定】吧,大功告成了。现在数据库已恢复成2014-07-10 09:46:29.0时的状态,自然的我那些表数据都回来了。

 

 

ps:

    1、若您的数据库从来没有完整备份过,就不能用此办法恢复了;

    2、在【完整备份->现在】这个时间段内,你进行过数据库日志的较大程度压缩,还原起来恐怕也困难了。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
我使用flinkcdc的sql形式进行全量同步,4张表,有两张表数据没进去,看日志,id怎么是null呢?
117 40
|
6月前
|
存储
SQLServer分页获取数据的存储过程
SQLServer分页获取数据的存储过程
24 0
|
4月前
|
SQL 数据库 数据安全/隐私保护
SQL Server 数据操控,视图和索引
SQL Server 数据操控,视图和索引
99 0
|
7月前
|
关系型数据库 物联网 PostgreSQL
沉浸式学习PostgreSQL|PolarDB 11: 物联网(IoT)、监控系统、应用日志、用户行为记录等场景 - 时序数据高吞吐存取分析
物联网场景, 通常有大量的传感器(例如水质监控、气象监测、新能源汽车上的大量传感器)不断探测最新数据并上报到数据库. 监控系统, 通常也会有采集程序不断的读取被监控指标(例如CPU、网络数据包转发、磁盘的IOPS和BW占用情况、内存的使用率等等), 同时将监控数据上报到数据库. 应用日志、用户行为日志, 也就有同样的特征, 不断产生并上报到数据库. 以上数据具有时序特征, 对数据库的关键能力要求如下: 数据高速写入 高速按时间区间读取和分析, 目的是发现异常, 分析规律. 尽量节省存储空间
608 1
|
8月前
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
|
1天前
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
3天前
|
机器学习/深度学习 前端开发 数据挖掘
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断(下)
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
74 11
|
9天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
15 0
|
9天前
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
39 0
|
4月前
|
SQL 关系型数据库 MySQL
⑩⑥ 【MySQL】详解 触发器TRIGGER,协助 确保数据的完整性,日志记录,数据校验等操作。
⑩⑥ 【MySQL】详解 触发器TRIGGER,协助 确保数据的完整性,日志记录,数据校验等操作。
39 0