14:45接到报告,网站无法访问,进入远程查看,发现文件没有什么更改,确定应该和黑客攻击无关。
检查发现所有asp页面均无法正常工作,怀疑iis设置被更改,无果。
检查数据库,发现数据库异常,显示“置疑”
,数据库不存在。疑遭到黑客报复性攻击。
检查数据库备份,还有昨天定期的备份在;检查数据库存放文件夹,看到数据库物理文件mdf还在,ldf不见了。
尝试恢复……
网络文章:如果通过.mdf还原数据库 方法一(日志文件完好) 1.新建同名数据库。 EXEC sp_detach_db @dbname = 'xxx' //@dbnam为要还原的数据库 1.新建一个同名的数据库 test 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) USE MASTER 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了. |
注:按照网上的这个方法,做了前5步,数据库是恢复了,但是不能用,有很多问题,没有做第六步,最终选择在昨天的备份基础上,将还原的这个问题数据库重要的新数据追加上去。
寻找原因:发现windows日志中在13:47有数据库的连续报错:
错误: 823,严重度: 24,状态: 2
I/O error (torn page) detected during read at offset 0x000002677de000 in file 'E:\database\MSSQL\Data\*****_Data.MDF'.
错误: 3313,严重度: 21,状态: 2
恢复数据库 '*****' 的日志中记录的操作时出错。出错位置在日志记录 ID (2436249:350:1)。
错误: 3313,严重度: 21,状态: 2
Error while redoing logged operation in database '*****'. Error at log record ID (2436249:350:1).
错误: 3414,严重度: 21,状态: 1
数据库 '*****'(数据库 ID 7)未能恢复。请与技术支持联系。
由于之前的数据库损坏了,在还原操作过程中未注意保护日志文件,导致不能查看细节的原因。
下次再遇到类似的问题,应该能处理的更好些