1

鉴于以下(假设)情况,如何最好地备份/恢复数据库。灾难恢复 - 不使用MDF恢复SQL Server数据库

  1. 每天在上午12点进行完整备份。
  2. 每小时做的差1点,凌晨2点等上半小时,130am,230am等
  3. 事务日志备份
  4. 我也存储驱动器X激活.LDF文件和驱动器Y.
  5. 的.mdf

同样重要的主DB是Y.

比方说,假设Y驱动在245am失败

我有充分的,差异和交易日志,直到上午230。但我也有.ldf。在理论上,我将不得不重新安装SQL Server。然后,我想要恢复该数据库直到上午245点。

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

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

谢谢!

Steve。

+0

这个第2部分的场景,涵盖了你的具体情况:http://www.sqlskills.com/blogs/paul/disaster-recovery-101-后盾-up-the-tail-of-the-log/ – TheGameiswar

+1

这实际上与**编程**(其中*本站*全部是关于**)没有任何关系,但是使用DB管理 - 所以它在这里脱离主题,属于[dba.stackexchange.com](http://dba.stackexchange.com) - 投票移动。 –

+0

这是完美的!谢谢 - 我知道有一种方法可以做到这一点。我知道在Oracle中可能有重做日志,这就是我为什么不放弃。 :-) – sjh7899

回答

1

你问,如何采取TailLog备份,当你没有获得MDF文件..

这只能如果你的数据库是不是在BulkLoggedRecovery型号或你的日志没有批量成交记录..This已经深入介绍这里:Disaster recovery 101: backing up the tail of the log

下面是步骤才能

  1. 创建具有相同名称的虚拟数据库
  2. 删除该虚拟d的所有文件atabase,通过使其脱机
  3. 复制原始数据库LDF
  4. 把这个数据库联机将失败..

现在你可以使用下面的命令采取TailLog备份..

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

现在既然你有所有的备份,你可以恢复到故障时间点

+0

是的 - 确切!感谢这正是我需要的。 – sjh7899