【问题标题】:How critical are transaction logs after a full backup of a SQL2005 database?完整备份 SQL2005 数据库后的事务日志有多重要?
【发布时间】:2009-11-10 01:21:41
【问题描述】:

完整备份 SQL2005 数据库后的事务日志有多重要?

示例:我有一个名为 Test 的数据库,我不关心使用事务日志进行时间点恢复,但我可能想恢复到测试时使用的数据库版本上次完整备份。

现在,在备份目录中,我有一个名为 Test.bak 的完整备份以及 4 个关联的 .trn 文件。如果我制作另一个名为 Test1.bak 的新备份,我可以安全地从之前的备份序列中删除 Test.bak + .trn 文件吗?如果我删除了除我的 Test1.bak 之外的所有备份文件,我是否只能从该文件中恢复,或者我是否应该因为 .trn 文件消失而出现恢复问题?

【问题讨论】:

    标签: sql sql-server-2005 backup


    【解决方案1】:

    如果您不想将事务日志文件用于日志传送或作为备份策略的一部分,您可以忽略所有意图和目的。

    事务日志文件有两个用途,到目前为止,最重要的是在发生崩溃时保持数据完整性(以及用于短期事务管理)。第二个目的涉及备份,正如问题所推断的那样,该目的还有助于日志传送和相关的事情。

    如果除了通常的崩溃恢复/完整性行为之外,您没有将给定数据库中的事务日志用于其他任何事情,您不妨使用简单恢复模式,这反过来又启用“trunc. log on checkpoint”数据库选项。发生这种情况时,事务日志无法备份,并且会定期截断。即时无忧交易日志!

    【讨论】:

    【解决方案2】:

    如果您对时间点恢复不感兴趣,则根本不需要事务日志备份。您始终可以从完整的数据库备份中恢复数据库。

    但是,除非它是开发或测试数据库(如您的数据库),否则我想不出对时间点恢复不感兴趣的充分理由。

    【讨论】:

    • 是的,但我的问题不在于我想要时间点恢复的情况。对于那些场景,我没有任何问题,因为互联网上有很多关于该主题的文档。在网上浏览后,很难找到我的问题(上图)的直接答案。
    【解决方案3】:

    如果您不使用 SIMPLE 备份策略,并且保留事务日志,那么当您执行完整备份时,我相信到那时为止的事务日志不再需要。因此,如果事务日志对您和您的备份策略很重要,您可能希望在备份期间使用 COPYONLY 标志,这样它就不会中断事务日志历史的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 2014-07-09
      • 2010-12-25
      • 1970-01-01
      • 2017-12-09
      相关资源
      最近更新 更多