事情是这样的,我这里有一个正式在用的企业数据库,之前运行很多年都没有发生过这种问题,就是突然某一天,有一些表里的重要数据被删除了,这些数据都是涉及财务方面的,因为业务系统的BUG和不完善的地方,所以后台数据库是我们小组的成员都经常要操作的,这么多年都没事,也没有做类似安全管理之类的防护,现在出了这种事情,虽然可以通过还原备份数据库的方法来把删除的数据找回来,但找不出当初操作的SQL语句,因为不排除恶意操作的可能,用了Log Explorer,但也是一头雾水,现在就是想能找出当初误操作的SQL语句,最好还能定位到误操作的客户端机器,跪求各位大神指点!
http://blog.csdn.net/dba_huangzj/article/details/8491327
看看有关profiler,跟踪方面的资料吧
(1)马上备份日志文件和数据文件,拷贝到另一台机器,当前机器继续服务(最好做个自动填写缺省值的时间字段,这样方便合并)。
(2)用Log Explore打开备份的数据,根据出错的大体时间定位,然后一条条找,找到有很多连续的、涉及那个出错的表的修改的地方,就是执行Update的地方了。
(3)逐条查看修改记录,能看到Update的旧值和新值,把新值改回旧值就可以了。
(4)把修改后的数据合并回原数据库。
我从早上9:00做到第二天凌晨5:00,大功告成,就是眼睛有些受不了了。