有时有些同事会不小心删除数据库中的数据,这时候如果是在有备份数据库的情况下,就可以实时的恢复到上个最近备份的节点。但是如果这些数据是在最后一次备份后产生的,或者是在没有备份数据库的情况下,这时需要借助一个工具ApexSQL Log,这个工具十分强大,能根据数据库日志生成恢复数据的脚本。下面我介绍下这个工具的使用方法:
1、下载解压后打开ApexSQLLog.exe,填写相关数据库链接信息
2、点击下一步,如果是远程链接数据库,并且从来没有连接过的话,这里会需要填写一下服务器的用户和密码,确保安全
3、这样就可以看到相关的日志,然后点击下一步
4、接下来我们需要选择查看日志的时间,选择执行删除操作的时间段(由于我们平时使用sqlserver数据库日志较多,所以尽量选择删除操作的这段时间内)
5、然后直接点击open results in grid
6、这时候我们可以看到系统这个时间段内的insert和delete的操作日志
7、最后我们根据操作的时间、表名、操作类型,找到我们误删的记录,然后勾选所有的删除的记录,点击右键,选择create undo script生成恢复的脚本文件
8、最后我们就可以轻松的把这些脚本copy到数据库的执行窗口进行执行,成功还原数据(注意:执行脚本时一定要选对那个数据库)
总结:虽然以上操作可以及时还原sqlserver被误删的数据,但是我还是建议执行DELETE操作的时候要特别小心,对数据库及时做备份,避免这种问题出现。而且如果时间长了,数据库日志记录有问题了,也是不能成功的进行恢复了。(注:数据库备份后,在进行还原,就不会有相关的日志了,所以一定要在删除操作的那个数据库库上进行日志读取操作)
有个很重要的一点 “数据库日志需要开启完整模式,而不是简单模式”
工具大家可以去网上下载。
请您注意
·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款