作为开发人员,误操作数据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. Lua-源码-字符串的resize函数-luaS_resize

    // 这里需要问一下:upval和一般的对象有什么区别?为什么要单独一个函数来处理? void luaC_linkupval (lua_State *L, UpVal *uv) { global_St ...

  2. Visual SVN Server+TortoiseSVN进行源代码管理

    安装VisualSVN Server 安装完之后,可配置SVN Server的IP地址,右键下图红色部分,选择属性,然后可配置ServeName和IP Address 之后可以创建用户.用户组和项目库 ...

  3. 原来不只是fastjson,这个你每天都在用的类库也被爆过反序列化漏洞!

    GitHub 15.8k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.8k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 15.8k Star ...

  4. day4 python 运算符

    python运算符 1.算数运算符( + - * / // % ** ) # + - * / // % ** # 加 减 乘 除 整除 余数 幂 ​ #注意 #1. / 得到浮点型, // 得看被除数 ...

  5. GPO - General GPO Settings(1)

    Prohibit access to Control Panel and PC settings Disable GPO for Administrators and /or User Groups  ...

  6. Python Ethical Hacking - BACKDOORS(3)

    BACKDOORS Sockets Problem: TCP is stream-based. Difficult to identify the end of message/batch. Solu ...

  7. 技术干货:Ceph搭建硬件建议详解

    Ceph是专为在商品硬件上运行而设计的,这使得构建和维护超大规模的数据集群在经济上是可行的.当规划出你的集群硬件时,你需要平衡一些考虑因素,包括故障域和潜在的性能问题.硬件规划应该包括将Ceph守护进 ...

  8. 利用CloudFlare自动DDNS

    注意要 仅限 DNS 获取咱的Key https://dash.cloudflare.com/profile 先在控制面板找到咱的目前IP,然后到Cloudflare中新建一个A记录,如:ddns.y ...

  9. 【揭秘】阿里测试框架,各大CTO良心力荐

    自动化测试因其节约成本.提高效率.减少手动干预等优势已经日渐成为测试人员的“潮流”,从业人员日益清楚地明白实现自动化框架是软件自动化项目成功的关键因素之一.本篇文章将从 什么是真正的自动化测试框架.自 ...

  10. js原型链结构理解

    在一般的面向对象的语言中,都存在类(class)的概念,类就是对象的模板,对象就是类的实例. 但在js中是没有类的定义的(万物皆是对象).  题外话:但是在ES6中提供了更接近传统语言的写法,引入了C ...