代码之家  ›  专栏  ›  技术社区  ›  sjh7899

灾难恢复-在不使用MDF的情况下恢复SQL Server数据库

  •  1
  • sjh7899  · 技术社区  · 8 年前

    给定以下(假设)场景,如何最好地备份/恢复数据库。

    1. 每天早上12点进行完整备份。
    2. 凌晨1点、凌晨2点等的小时执行差异
    3. 半小时、130am、230am等的事务日志备份
    4. 我还在驱动器X上存储活动的.ldf文件,在驱动器Y上存储.mdf文件。

    同样重要的是,主数据库在Y上。

    假设Y驱动器出现故障 24时45分。

    我有完整的,差异和交易日志直到23点。但我也有 .ldf .

    理论上,我可能需要重新安装SQL Server。然后我想恢复数据库直到凌晨245点。

    我听说过在恢复操作中执行尾日志备份,但我没有 .mdf 不再因此,我需要从完整/diff/log备份创建一个新数据库。在那之后,我不知道如何继续得到最后15分钟的交易。

    我希望这是有意义的。。。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   marc_s    8 年前

    只有当您的数据库不在BulkLoggedRecovery模型中,或者您的日志中没有大容量记录的事务时,这才有效。这已在此处进行了深入讨论: Disaster recovery 101: backing up the tail of the log

    以下是按顺序排列的步骤:

    1. 创建具有相同名称的虚拟数据库
    2. 删除此虚拟数据库的所有文件,使其脱机
    3. 使此数据库联机将失败。。

    现在,您可以使用下面的命令进行尾日志备份。。

    BACKUP LOG dummydb 
    TO DISK = N'D:\SQLskills\DemoBackups\DBMaint_Log_Tail.bck' WITH INIT, NO_TRUNCATE;
    GO
    

    现在,由于您有了所有备份,您可以恢复到故障时间点

    推荐文章