灾难恢复 - 在没有MDF的情况下恢复SQL Server数据库

时间:2016-11-29 17:08:02

标签: sql-server database backup database-restore disaster-recovery

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

  1. 每天早上12点做完整备份。
  2. 每小时做差异1点,凌晨2点等
  3. 半小时,130am,230am等的交易日志备份
  4. 我还将活动的.ldf文件存储在驱动器X上,将.mdf存储在驱动器Y上。
  5. 主数据库也在Y上也很重要。

    假设假设Y驱动器在早上245点失败。

    我有完整的,差异和事务日志,直到凌晨230点。但我也有.ldf

    理论上我可能不得不重新安装SQL Server。然后我想恢复该数据库直到上午245点。

    我听说过在还原操作上进行尾部日志备份但是我没有.mdf了。所以,我需要从我的完整/差异/日志备份创建一个新的数据库。在那之后,我不知道如何进行最后15分钟的交易。

    我希望这是有道理的......

    谢谢!

    史蒂夫。

1 个答案:

答案 0 :(得分:1)

您问,如果您无法访问MDF文件,如何使用TailLog备份..

仅当您的数据库不在BulkLoggedRecovery模型中或您的日志没有批量记录的事务时,此方法才有效。此处已深入介绍:Disaster recovery 101: backing up the tail of the log

以下是按顺序执行的步骤

  1. 创建一个名称相同的虚拟数据库
  2. 删除此虚拟数据库的所有文件,使其脱机
  3. 复制原始数据库LDF
  4. 将此数据库联机,这将失败..
  5. 现在您可以使用以下命令进行TailLog备份..

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

    现在,由于您拥有所有备份,因此可以恢复到失败的时间点