zoukankan      html  css  js  c++  java
  • SQLServer数据库使用日志备份还原至指定时间点

    SQLServer数据库使用日志备份还原至指定时间点

    现场正常情况:

             某客户数据库数据文件约1T,日志文件忽略大小,每日凌晨0点做数据库完整备份,每日中午12点做数据库差异备份。

    异常问题:

             某日晚19点01分,因某误操作,导致某大表近2亿条数据被删除,约19点30分,发现问题,客户分别在19点31分、19点50分、20点00分执行了日志备份(本文为了简化说明,假定备份均立即完成,实际备份过程中产生数据及耗时不做考虑),之后在20点30分做数据库全备,最后请求支持。

    支持处理操作:

             1、立即断开前台业务,确保不再有新业务写入(否则新写入的业务会在恢复时丢失)

             2、由于客户最后又做了一次数据库全备,因此可以直接忽略最后一次完备。协调客户使用新服务器。

             3、首先还原当日凌晨0点数据库备份,并将数据库处于还原模式

             4、继续还原当日12点数据库差异备份,同样处于还原模式(该步骤实际可以忽略)

             5、最后还原晚上做的第一次日志备份,注意还原时选择时间点为19点00分00秒,选在回滚事务。

             6、检查数据库数据情况,若仍有数据误删情况,考虑重复还原数据库日志(需要先将数据库调整成还原状态),并调整还原时间点。

    备注:

             第4步所谓的可以忽略是因为差异备份与完整备份之间相差时间不长,但假如情况如下:周一0点完备,周二、周三、周四、周五12点差异备份,在周五18点进行日志备份,此时想将数据恢复至17点。

    此时同样可以直接使用周一0点的完备+周五18点的日志备份。但日志备份数据量较大,耗时可能较长;也可以使用周一0点完备+周五12点差异备份,加周五18点日志备份,这样耗时相对较短。

    总结:

             日志恢复的重点在于上一次的完整备份,如果有多个日志备份,那么就按照时间先后顺序,逐个还原日志备份。

  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/moonliu/p/14266333.html
Copyright © 2011-2022 走看看