下载地址:https://www.apexsql.com/download.aspx

如何从意外UPDATE和DELETE操作中恢复SQL Server数据

ApexSQL Log 从意外UPDATE和DELETE操作中恢复SQL Server数据

详细脚本下载及教材:http://www.ddooo.com/softdown/117643.htm

转自:https://solutioncenter.apexsql.com/zh/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%84%8F%E5%A4%96update%E5%92%8Cdelete%E6%93%8D%E4%BD%9C%E4%B8%AD%E6%81%A2%E5%A4%8Dsql-server%E6%95%B0%E6%8D%AE/

 

SQL DBA们的最惨的噩梦应该就是由于他们犯错而导致丢失数据了。这是很正常的对于不正确地执行了甚至忘记了在执行DELETE或UPDATE的时候加WHERE子句,最终导致数百万行数据也受到这个不加WHERE子句的update或delete牵连

那么,有哪些SQL Server数据恢复选项是可以用上的?

方案是使用一个备份,这个备份是灾难发生之前做的。

一般方案是使用已存在的数据库备份恢复丢失的数据库数据:

  1. 还原数据库备份,使用这个备份替换原来的数据库
  2. 否则
    • 在同一台服务器上还原备份,使用一个不同的数据库名
    • 在已还原的数据库上定位到相关的行
    • 使用已还原的数据库的原来的行更新原数据库受损坏的行

不幸的是,很少有这麽”整洁和干净“的还原场景可以使用这麽简单的方案。

更多的类似于:

  • 没有及早发现错误
  • 在最后一个数据库备份创建之后又发生了数据变更,并且那个查询是恢复变得更复杂
  • 大量涌入的新数据
  • 没有做常规的数据库备份,或者根本没有做备份

所有的复杂情况都会站不住阵脚

读取联机事务日志里的信息,事务日志备份或者分离的事务日志,为了恢复数据库数据,读取联机事务日志是恢复数据的一个选择。
ApexSQL Log 是一个SQL Server恢复工具 有读取事务日志数据的能力并且能依靠回滚事务来恢复丢失的数据库数据到它们原先的状态。

使用 ApexSQL Log 恢复由于意外UPDATE 或DELETE造成的数据库数据丢失:

    1. 启动 ApexSQL Log
    2. 连接到数据库
    3. 在Select SQL logs to analyze步骤,添加您想读取的事务日志备份和分离的事务日志文件。注意他们必须是来自一个完整的日志链的以便提供足够的审计信息。
      添加一个数据库备份可以帮助提升性能和审计跟踪数据的质量

    4. 使用过滤设置选项来收窄结果集 使用时间、操作类型、表名、用户和其他过滤选项

  • 当您设置了所有的选项之后,点击“打开”

您的事务将会被列出在应用程序主grid窗格。您依然能够在左边的面板使用过滤器去把额外的不需要的事务排除掉

执行数据恢复,再次检查您想回滚的事务并在Actions 这个tab窗格点击“Create undo script”

从脚本编辑器里执行脚本,点击“Execute ”按钮或者按F5键,丢失的数据将会在数据库里进行还原。

所以请记住,如果您无意地执行了DELETE/UPDATE,您依然可以使用 ApexSQL Log 在不同的情况下恢复丢失的数据库数据

翻译者: 林勇桦

July 2, 2015

ApexSQL Log 从意外UPDATE和DELETE操作中恢复SQL Server数据的更多相关文章

  1. How do I UPDATE from a SELECT in SQL Server?

    方法1 https://stackoverflow.com/questions/2334712/how-do-i-update-from-a-select-in-sql-server UPDATE T ...

  2. CRUD操作 create创建 read读取 update修改 delete删除

    1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段 行有个名字叫记录 CRUD操作:create 创建(添加)read 读取update 修改 ...

  3. SQL Server DML(UPDATE、INSERT、DELETE)常见用法(一)

    1.引言 T-SQL(Transact Structured Query Language)是标准的SQL的扩展,是程序和SQL Server沟通的主要语言. T-SQL语言主要由以下几部分组成: 数 ...

  4. ApexSql Log 2016破解版&补丁

    绿色破解版: http://download.csdn.net/detail/gsyifan/9316993 官网: https://www.apexsql.com/sql_tools_log.asp ...

  5. ApexSQL Log中的Redo Script跟原始SQL不一致问题

    最近遇到一个误更新数据的问题,使用ApexSQL Log做挖掘事务日志的时候,发现ApexSQL Log生成的Redo Script跟原始SQL是有区别的.它们并不是完全一致的.只是逻辑上等价而已.如 ...

  6. ApexSql Log 2014.04.1133破解版&补丁

    已上传最新的2016版本,请移步: http://www.cnblogs.com/gsyifan/p/ApexSql_Log_2016_Crack.html 状态不好,鬼使补差的跑到服务器上updat ...

  7. 操作数据(insert、update、delete)

    插入数据 使用Insert Into 插入 if(exists(select * from sys.databases where name = 'webDB')) drop database web ...

  8. [转] hive0.14-insert、update、delete操作测试

    FROM : http://blog.csdn.net/hi_box/article/details/40820341 首先用最普通的建表语句建一个表: hive>create table te ...

  9. sql service ---- update和delete 误操作数据 ---- 恢复数据

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...

随机推荐

  1. VMware12.0下安装CentOS-6.9-x86_64-bin-DVD.iso

    使用的是vmware workstation 12 pro 创建虚拟机 注意上面的 安装程序光盘镜象文件(iso)(M): 是我之前配置,现在可以不做任何处理 此处使用的是centos的64位 在创建 ...

  2. 论C++STL源代码中关于堆算法的那些事

    关于堆,我们肯定熟知的就是它排序的时间复杂度在几个排序算法里面算是比較靠上的O(nlogn)常常会拿来和高速排序和归并排序讨论,并且它还有个长处是它的空间复杂度为O(1), 可是STL中没有给我们提供 ...

  3. [na]esxi6.5的vmware安装

    安装exsi6.5(最新的软件见评论区) ,安装 ,激活(可选) ,浏览器登录(.5好像没客户端了,所以就用浏览器,挺方便的) 安装包和key包在网盘里: 链接:https://pan.baidu.c ...

  4. Redis命令学习-string类型操作

    APPEND key value     假设key已经存在,而且为字符串.那么这个命令会把value追加到原来值的末尾.假设key不存在.首先创建一个空字符串,再运行追加操作.     返回值:返回 ...

  5. 严重: Error in dependencyCheck java.io.IOException: invalid header field(tomcat启动成功可是訪问web项目404错误)

    tomcat启动的时候出现 严重: Error in dependencyCheck java.io.IOException: invalid header field 而且tomcat也不自己主动r ...

  6. poj 3666 河南省第七届程序设计D题(山区修路)

    题目大意: 给定一个序列,以最小代价将其变成单调不增或单调不减序列,求最小的变动价值:需要用到离散化dp 状态转移方程: dp[i][j]=abs(j-w[i])+min(dp[i-1][k]);(k ...

  7. FastMethod和PropertyUtils两种反射方法的性能比较

    这两个类都提供反射方法的实现,性能对比如下: 循环条件是:1亿次 结论:PropertyUtils提供的getXXX和setXXX反射方法的性能是FastMethod的三倍 以下是测试方法: 首先是F ...

  8. makefile使用注意点

    1. 小心空格 变量赋值a:=   b, 不会将b前面的空格赋值给a 大部分函数调用,特别是$(call func, param) 如果参数前面有空格,则会将空格连同参数一起传入.因此要特别小心. 使 ...

  9. ansible学习之--安装Svn

    1.安装svn 机器 Ubuntu SMP Thu Jan 15 20:21:55 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 使用 sudo apt-get in ...

  10. iframe定位获取

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...