SQL Server无备份误删数据的恢复

在正式生产数据库中,因为客户现场管理不规范产生了一条错误数据,由于自身睡眠不佳加上客户方言表达,将编号记错,在没有备份的情况下,直接连远程数据库执行了delete操作。

由于备份设置的是每日0点,当天晚上九点钟的数据尚未进行备份,所以网上大多数基于备份文件的恢复就无法奏效。

上一篇博文(查询数据库各种历史记录)的对原理和操作进行了说明,但是具体操作时比较耗时,客户也比较着急,反复查找,找到一个工具,将下载链接提供在文末。

具体恢复步骤如下:

1、下载工具,略过不表。

2、解压后进入ApexSQLLog2014文件夹,运行ApexSQLLog.exe可执行文件。

数据库连接信息,正确输入即可,然后Next。

3、选择日志时选online transaction log,然后Next。

4、到Filter Setup时可以设置筛选条件,可以选择过去的多少个小时因为我大概记得是前一天的晚上9点前后执行,故做如下选择,然后继续Next。

5、在Result viewing options我选择 open results in grid,在表格中显示,然后继续Next。

6、进入日志分析接断,等待分析完成。

7、等待结果出现,看看自己作死的记录......

8、下方有operation details/row history/undo script/redo script/transaction information,非常齐全的信息,可以直接执行sql还原。

operation details

undo script

工具下载链接:https://share.weiyun.com/5q1s1r5 密码:vtemim

原文地址:https://www.cnblogs.com/88223100/p/restore_data_from_sql_server_transaction_log.html

时间: 2024-10-12 11:22:58

SQL Server无备份误删数据的恢复的相关文章

实战 SQL Server 2008 数据库误删除数据的恢复

关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(

SQL Server 2008 数据库误删除数据的恢复

原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(Full)”. 针对这两个前提条件,会有三种情况: 情况一.如果这两个前提条件都存在,通过SQL语句只

SQL Server的备份

原文:SQL Server的备份 0.参考文献 1.恢复模式 SQL Server 备份和还原操作发生在数据库的恢复模式的上下文中. 恢复模式旨在控制事务日志维护. "恢复模式"是一种数据库属性,它控制如何记录事务,事务日志是否需要(以及允许)备份,以及可以使用哪些类型的还原操作. 有三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式.通常,数据库使用完整恢复模式或简单恢复模式.可以在执行大容量操作之前切换到大容量日志恢复模式,以补充完整恢复模式.数据库可以随时切换为其他恢复

恢复SQL Server被误删除的数据(再扩展)

恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的恢复 这个是一个缺陷,本人决定对这个存储过程扩展一下,支持对log backup文件里的delete语句进行恢复 实验步骤 1.首先先准备好测试表和测试语句 USE [sss] GO --建表 CREATE TABLE testdelete ( id INT IDENTITY(1, 1) NOT NULL P

sql server远程备份和恢复

sql server远程备份和恢复 SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备份需求的文件夹:D:\sqlbak 备份数据库 第一步: 在备份机建立共享文件夹               在程序代码中调用(或者CMD窗口)   net share sqlbakup=D:\sqlbak     或者用NetShareAdd这个API     

使用PowerShell 命令集进行SQL Server 2012 备份和还原

最近心相不错,所以打算翻译一些英文文档做福利,原文在此,翻译有不足的地方还请各位兄弟指点. 讨论什么是DBA最重要的工作的时候,你最常听到就是一条就是DBA只要做好备份和恢复.事实如此,如果你不做备份,或者无法保证你的备份能够有效恢复,你和你的公司就会处于数据丢失危险下. T-SQL 命令BACKUP DATABASE已经使用了相当长的一段时间(在这之前用的是DUMP DATABASE 命令,老人们都记得). 它仍然不失为备份数据库好方式.我们现在有一个新的方法来自动的做这些日常的备份处理任务.

SQL SERVER 数据库备份的三种策略及语句

1.全量数据备份    备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋.使用这种类型的备份带来的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜在威胁.例如,假设你每天在午夜备份数据库. 如果服务器在晚上11点崩溃了,你将丢失前面23个小时对数据所做的全部修改.对大多数系统来说,这是无法接受的.对此规则,为数不多的例外如下: 1.系统中所存的数据可以

SQL Server往Oracle导入数据

        在windows下的Oracle中创建用户 Oracle下创建用户赋予权限,在终端中启动 SQL Plus. 创建用户+密码(用户:sa 密码:lenovo) SQL> create user sa identified by lenovo; 单独赋予用户权限 SQL> grant create session to sa; SQL> grant create table to sa; SQL> grant create sequence to sa; SQL>

在.Net中进行SQL Server数据库备份与还原操作实用类

#region 类说明 //----------------------------------------------------------------------------- // // 项目名称:*** // 文件名称:DBBakManager.cs // 文件说明:对数据库备份文件进行管理.提供备份.还原.备份文件管理操作. // // 开始日期:2007年04月04日 // 开发人员:*** // //----------------------------------------