前言:最近项目接近了尾声,随之而来的是维护问题,当然涉及到数据库的数据维护,通过资料和实际操作整理有关误操作后根据日志还原数据库。
前提:①必须有数据库的完整备份(做个备份计划);②数据库恢复模式是完整的(full)。
步骤:①发现误操作时,记录下时间点date并备份日志文件(备份脚本:use master backup log 数据库 to disk=n'g:cclog.bak' with norecovery);
②还原数据库(还原脚本:use master restore database 数据库 from disk = n'g:cc.bak' with norecovery, replace);
③还原日志(还原日志脚本:use master restore log 数据库 from disk = n'g:cclog.bak' with stopat = n'date' , recovery);
④以上3步都操作成功后则还原成功,此时查看数据库发现误删除操作的数据又回来了。
说明:①norecovery是用来备份尾日志的,这样备份日志的时候数据库处于恢复状态,别的进程就不能再访问数据库,日志就不会再增加了,这样在还原的时候就可以正常恢复了。还原备份的时候如果想同时还原之后的日志,必须加上norecovery才可以还原日志。
②时间点date格式为m/d/yyyy h:m:s pm,是12小时制,例如:1/23/2014 1:17:10 pm表示2014年1月23号下午1点17分10秒,此时间点只要在误操作前就可以。
中国足彩网信息请查看IT技术专栏