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

4

在SQL2005数据库进行完全备份后,事务日志有多重要?

例如:我有一个名为Test的数据库,并且我不关心使用事务日志进行时间点恢复,只是可能希望还原到最后一次完全备份时的数据库版本。

现在,在备份目录中,我有一个名为Test.bak的完全备份以及4个相关的.trn文件。如果我创建另一个新备份Test1.bak,那么我是否可以安全地删除以前备份序列的Test.bak和.trn文件?如果我除了Test1.bak之外删除所有备份文件,我能否仅从一个文件中进行恢复,或者应该预期由于.trn文件已经丢失而出现恢复问题?

3个回答

4
如果不想将事务日志文件用于日志运送或备份策略的一部分,你可以忽略这些文件。
事务日志文件有两个目的,其中最重要的是在崩溃事件中维护数据完整性(以及短期事务管理)。第二个目的涉及备份,正如问题所暗示的那样,这个目的也促进了日志运送和相关工作。
如果您没有在给定数据库中使用事务日志文件的任何其他内容,仅使用其通常的崩溃恢复/完整性行为,那么您可能会选择启用简单恢复模式,从而启用“在检查点上截断日志”数据库选项。当发生这种情况时,事务日志无法进行备份,并且会定期截断。轻松无压力的事务日志!

谢谢。你的回答真的帮了我很多。另外,从你的评论中,我找到了这个网站,它对我帮助很大:http://www.simple-talk.com/sql/backup-and-recovery/sql-server-2005-backups。很可能我会将其标记为答案,但我想看看其他答案。 - djangofan

1

如果你不关心点时间的恢复,那么你根本不需要事务日志备份。你总可以从完整的数据库备份中恢复数据库。

然而,除非这是一个开发或测试数据库(就像你的数据库),否则我想不出不关心点时间恢复的好理由。


是的,但我的问题不是关于我想要点对点恢复的情况。对于那些情况,我没有任何问题,因为互联网上有大量关于这个主题的文档。在搜寻了互联网后,很难找到一个直接回答我的问题的答案(如上所述)。 - djangofan

0

如果您不使用简单的备份策略,并且保留交易日志,那么当您进行完整备份时,我相信会使得到该点的交易日志不再必要。因此,如果交易日志对您和您的备份策略很重要,您可能希望在备份过程中使用COPYONLY标志,这样就不会中断交易日志历史序列。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接