SQL Server 的日志分析与数据恢复
本文的话题是“人非圣贤,孰能无过?”。语出《左传·宣公二年》:“人孰无过?过而能改,善莫大焉。”
故而,一直以来我都相信,无论是 SYSOP 还是 DBA,无论是初学还是资深,都会有误操作的时候。事后如何补救才能使损失降低到最小,才是我们应当更为关注的内容。
虽然我没有遇到过不可挽回的误操作,但前段时间确实因为需要对 SQL Server 数据库的日志文件进行分析而接触了《Log Explorer for SQL Server》这款神奇的软件。
有关 Log Explorer 的介绍、使用方法,数据库相关介绍、数据恢复原理等,可以参见这里和这里。
由于我使用 Log Explorer 的目的只是为了分析数据库日志,因此我选择使用连接在线数据库事务日志来完成工作。其操作步骤比较简单,基本与这篇文章一致。
以下为看图说话时间。
使用数据库帐户登录:
选择库的事务日志文件:
读取日志的状态:
呵呵,这依赖数据库所在服务器的环境和网络速度:
成功连接并读取到远程的事务日志文件:
左侧操作菜单:
“Log Summary”,日志摘要:
切换到“Filter Log Records”,选择筛选条件。读取范围的起始位:
读取范围的中止位:
筛选数据库操作动作:
对表也可以进行筛选:
筛选数据库角色:
提交筛选后给出的分析结果:
切换到“Browse”下的“View Log”,查看刚才筛选条件下的日志记录:
若需要 undo 某条记录,直接右键就行了:
选择“Undo Transcation”后,导出一个 SQL 脚本文件:
由于涉及商业版权问题,该软件的下载地址请自行搜寻:)