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