3

我正在帮助进行临时灾难恢复,我们已经从几周前恢复了数据库备份,然后从事务日志备份中恢复了事务。

我们使用 SQL Server Management Studio 执行此操作 - 右键单击​​数据库,恢复完整备份但处于恢复模式,再次右键单击,恢复事务日志等。

我现在正在尝试验证我们的日志中是否没有空白。假设如果 SQL Server Management Studio 允许我在没有错误的情况下恢复日志,那么日志中没有间隙(例如,日志链完整)是否安全?

换句话说 - 如果有间隙,SQL 会让我恢复日志吗?我认为在这种情况下它会警告我或阻止我。

谢谢你尽你所能的帮助 ....

我们使用的是 SQL 2005,但我认为关于日志链的规则在所有版本中都是相似的。

4

2 回答 2

4

根据Microsoft的使用事务日志备份的文档:

如果日志备份丢失或损坏,请通过创建完整或差异数据库备份然后备份事务日志以启动新的日志链来启动新的日志链我们建议您保留丢失日志备份之前的事务日志备份,以防您想要将数据库还原到这些备份中的某个时间点。有关如何帮助保护备份的信息,请参阅备份和还原的安全注意事项。

创建事务日志备份状态:

如果事务日志损坏自最近一次日志备份以来执行的工作将丢失。这突出了将日志文件放在容错存储上的重要性。

我对此的免费阅读是:考虑到丢失的文件是一种文件损坏,如果 Management Studio 或任何其他工具允许您恢复日志而没有错误,您可以确保日志链是完整的,直到您最后一次事务日志备份'重新申请。您必须确保它是该数据库可用的最后一个事务日志备份,但这是需要考虑的另一件事。

如果您不相信我的阅读(并且文档在这一点上不太清楚),您可以做一个简单的测试来确定:假设您有 10 个事务日志要应用...故意删除第 7 个(或随机,但不是第一个也不是最后一个)事务日志,并尝试您的灾难恢复方法。

如果您收到类似“缺少事务日志文件备份”的错误消息,您可以放心并相信我。

于 2010-11-10T23:52:15.973 回答
2

你是对的。如果不能应用事务日志备份,SQL 将不会应用它你会得到一个错误。

于 2010-11-10T20:10:59.313 回答