作为开发人员,误操作数据delete、update、insert是最正常不过的了,比如:

  • 删除忘记加where条件;
  • 查询为了图方便按了F5,但是数据里面夹杂着delete语句。


不管是打着后发动机声音噪音过大,缸筒活塞间隙过大,做过全身划痕处理;

还是喷过全身漆,对于有经验的老司机来说,这些都是不是事(还原一下数据库日志恢复就OK),

但是对于驾驶经验不足的人来说就难以驾驶了,只能重新换车(请教DBA:数据库管理员)。

但是并不是所有公司都有DBA,或者认识的朋友是DBA,那只能靠自己了,怎么办呢?

 


不慌,看法宝!


微软SQL服务器的增值软件工具供应商提供了ApexSQL Log工具(支持SQL Server2005/2008/2012),只要我不付钱,就不是嫖客咯,我都给你们整理好了,

ApexSql Log 2018免安装版下载地址(免费的哦)

百度网盘提取地址:

链接:https://pan.baidu.com/s/1h23f9cQuTQ_-r__yrfueSA
提取码:XZ66

官网地址:https://www.apexsql.com/Download.aspx(比较慢);

这是基于数据库日志的可视化恢复数据的工具,里面有很多功能,我们着重说数据恢复功能;

首先下载软件,使用我上面分享的地址下载或者百度查询下载也可以;


使用教程(以sql server2008为例)

我们先在数据库创建数据表,插入数据,然后把数据全部delete掉,如图所示:


使用ApexSql Log 2018工具恢复刚刚删除的数据

使用其他版本的也可以,我这里使用2018版的

1、打开ApexSql Log 2018,双击ApexSQLLog.exe运行程序

2、登陆需要恢复的数据库,点击Next

3、选择数据库日志,如果是回访备份文件点击Add filf添加,一般直接默认第一个就好了,然后点击Next

然后点击第一个 Open results in grid(在网格中打开结果)

4、选择需要恢复的时间、恢复的数据类型、恢复的数据表,然后点击Finish

5、选择需要的数据进行恢复

加载完成后,选择需要恢复的数据,点击上方的Undo图标

数据加载出来后,可以直接复制到数据库执行,也可以直接点击Execute图标执行

然后我们去数据库看一下最后执行的结果,数据就还原啦;

但是细心的小伙伴有没有发现,Id设了主键自增,还原后的数据id是自增的,

导致以id主键自增的键作为子表外键做关联的对不上了,所以小编这里不建议以主表自增为子表关联的外键,管理的外键最后设置一个Vguid就好了;


至于数据能够恢复的上限这里并没有测试,百度查了一下,有人说是8-10万条数据后会丢失,

真实是多少就需要进一步的压力测试了,这里就偷个懒,谁测试出来了艾特一下我看看。

对于drop和truncate暂时或者删库的就只能去备份里面恢复了,有其他办法的小伙伴可以艾特我一下看看。

欢迎关注订阅我的微信公众平台【熊泽有话说】,更多好玩易学知识等你来取
作者:熊泽-学习中的苦与乐
公众号:熊泽有话说

出处:https://www.cnblogs.com/xiongze520/p/13452106.html


创作不易,版权归作者和博客园共有,转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。

新司机的致胜法宝,使用ApexSql Log2018快速恢复数据库被删除的数据的更多相关文章

  1. 阿里BCG重磅报告《人工智能,未来致胜之道》

    阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...

  2. ln -s 新目录(最后一个目录新建images) 旧目录(删除最后的images目录)

    sudo yum install libvirt virt-install qemu-kvm 默认安装会启用一个NAT模式的bridgevirbr0 启动激活libvirtd服务 systemctl ...

  3. uber在限制新司机加入了,看看新政策把

    您可以点击“车主奖励分组查询”输入您在系统注册的手机号查询您所在奖励分组 5月25日-5月31日 奖励明细 1. 成都优步合作车主第一组 奖励政策: (账户激活时间在2015年5月29日之前) *以下 ...

  4. Ubuntu中开启MySQL远程访问功能,并将另一个数据库服务器中的数据迁移到新的服务器中

    一.开启MyS远程访问功能 1.进入服务器输入netstat -an | grep 3306确认3306是否对外开放,MySQL默认状态下是不对外开放访问功能的.输入以上命令之后如果端口没有被开放就会 ...

  5. 将新浪博客里的表情包存入MySQL数据库不完整版本一堆可能用到的散乱代码

    header = {'Cookie': 'SINAGLOBAL=7368591819178.463.1491810091070; ALF=1558832450; SCF=Ajrc1sxuwynVIu_ ...

  6. 阿里云POLARDB如何帮助百胜软件应对数据库的“巅峰时刻”

    POLARDB是阿里云自研的下一代关系型云数据库,100%兼容MySQL,存储容量最高可达100TB,性能最高提升至MySQL的6倍,适用于企业多样化的数据库应用场景.POLARDB采用存储和计算分离 ...

  7. redis缓存恢复-2022新项目

    一.业务场景 Web项目开发中,为了加快数据处理的的效率,大量的使用了各种缓存,缓存技术主要使用的是redis.导致出现的小小的 问题是对redis缓存形成了一个比较强的依赖,并且有的数据暂时是没有同 ...

  8. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. 你真的了解ASP.NET Core 部署模型吗?

    ----------------------------   以下内容针对 ASP.NET Core2.1,2.2出现IIS进程内寄宿 暂不展开讨论-------------------------- ...

随机推荐

  1. BFC 生成 特性 解决的问题

    BFC( 块级格式化上下文 ) 块级格式化上下文,它是指一个独立的块级渲染区域, 只有 Block­level BOX 参与,该区域拥有一套 渲染规则来约束块级盒子的布局,且与区域外部无关. 如何生成 ...

  2. Git操作(二)

    很久以前写的git入门,最近又巩固了一下Git分支操作,下面是我的一些整理. 1.分支与合并 #创建并切换到该分支 git checkout -b xxx #查看当前分支 git branch #进行 ...

  3. js自定义获取浏览器宽高

    /** * @description js自定义获取浏览器宽高 * * IE8 和 IE8 以下的浏览器不兼容 * window.innerWidth * window.innerHeight * * ...

  4. Istio安全-认证(istio 系列七)

    Istio安全-认证 目录 Istio安全-认证 认证策略 配置 自动mutual TLS 全局启用istio的mutual TLS STRIC模式 卸载 针对单个命名空间或负载启用mutual TL ...

  5. java中int相除取小数点后两位或限定位数

    java 两个整数相除保留两位小数: http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html java中,当两个整数相除时,由于小数点以后的数字会被截 ...

  6. Redis中的Scan命令踩坑记

    1 原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作.但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限.所以记录下这 ...

  7. Linux好学吗?怎么自学Linux?6个值得你去学习Linux的理由!

    两个多月前,我对日常工作做出了一个非常重要的决定-我决定从Windows切换到Linux,将其作为个人和办公笔记本电脑的主要系统.除了开始时一些小的驱动程序问题之外,切换非常平稳,我不会考虑返回.如果 ...

  8. 【JVM之内存与垃圾回收篇】类加载子系统

    类加载子系统 概述 完整图如下: 如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载 Class 文件, ...

  9. 一个通用的两级Makefile例子

    目的 进行如项目的顶层目录后,运行make,即可直接编译项目中所有的源文件,并生成最终的可执行文件 实现头文件自动依赖 添加源文件不用修改Makefile,且可以自动编译新文件 顶层目录下添加文件夹, ...

  10. 【博弈论】Road to Arabella Gym - 102263B

    题目: 题目大意:输入n,k.两个人轮流选一个数x(1<=x<=max(1,n-k))减去n,若到一个人的回合n=0那么那个人失败.Kilani先手. 通过手动模拟几个实例,很容易发现先手 ...