完全恢复模型是否会生成其他事务日志?

时间:2009-03-05 01:28:26

标签: sql-server backup restore recoverymodel

我在线阅读了一些关于恢复/备份的书籍,一个愚蠢的问题,如果我使用完整的数据库备份/完全恢复模式,对于备份操作本身,它会生成任何额外的事务日志到源数据库服务器吗?完全恢复操作是否会为目标数据库生成额外的事务日志?

2 个答案:

答案 0 :(得分:2)

更有用的观点可能是说Full Recovery会阻止事务日志的内容被覆盖,而不会有其他操作允许覆盖

SQL Server将记录大多数事务(例如批量加载和一些其他事务),并且当以简单恢复模式运行时,在与创建该事务相关联的事务结束时有效地丢弃新创建的日志内容。在完全恢复模式下运行时,将保留转换日志的内容,直到标记为可覆盖为止。要将它们标记为可以覆盖,通常会执行备份(Full或Trans Log)。

如果trans日志中没有空格且没有标记为可用的日志内容被覆盖,则SQL Server将尝试增加日志的大小。

实际上,完全恢复要求您管理事务日志,通常是每隔一段时间执行一次trans日志备份(如果您没有SLA工作或其他驱动程序确定,则每1小时可能是一个很好的经验法则多久做一次)

答案 1 :(得分:1)

我不确定我是否完全理解你的问题,但现在就去了。保持数据库处于完全恢复模式可以使您的事务日志变得非常大。权衡是你可以恢复到恢复点。

事务日志大于正常的原因是所有事务都已完全记录。这可以包括批量记录操作,索引创建等。

如果不考虑驱动器空间(并且驱动器的价格非常便宜,则不应该这样),这是推荐的备份方法。

相关问题