SQL Server数据库备份计划和日志截断

时间:2009-04-09 20:00:38

标签: sql-server sql-server-2005 backup transaction-log

我有一个每晚备份的SQL Server 2005数据库。备份包括:

  1. 数据库的完整备份。
  2. 备份事务日志。
  3. 这些目前是两个独立的工作。

    日志很大,我想设置一下:

    1. 数据库以完整的夜间备份
    2. 设置日志,以便我可以从一个备份和下一个备份之间的任何点恢复数据库。
    3. 如何设置它以便日志文件可管理?我怀疑日志从未缩小过,因为日志很大。

3 个答案:

答案 0 :(得分:5)

您目前正在根据事物的声音实施完整恢复模型。这将允许您恢复到某个时间点,前提是您拥有涵盖所需时间点的事务日志备份(完全备份后)。

为了减少所需事务日志文件的大小,您应该考虑增加事务日志备份的频率。我会建议每小时。一旦您测量了日志文件的实际使用情况,您就可以将其缩小到更合适的大小。这里要注意的关键点是,一旦完成了事务日志备份,日志文件的非活动部分就可以再次使用。事务日志文件连续增长的原因是事务日志备份是否完全没有被采用或者它们的频率是不够的。

我还建议您考虑执行DIFFERENTIAL和FULL Backups的混合,以减少备份数据的总体大小。一个示例时间表是每周完整备份,比如说每个星期天,每天有差异备份。

我希望我所详述的内容有道理。请随时直接与我联系,我很乐意协助您为您的环境部署适当的备份策略。

基本参考资料:

  1. How to stop the transaction log file from growing enexpectedly
  2. Backup and Restoring Databases in SQL Server

答案 1 :(得分:1)

我发现备份的一个原因是人们通常不会经常运行它们 - 特别是在日志文件备份方面。听起来你是对的,日志文件没有被定期截断(这意味着你可能会浪费高级磁盘空间[1])。更重要的是,这让你完全暴露在可恢复性的角度。)

幸运的是,在你需要的时候开始运行并不是那么难。事实上,我推荐以下三个视频,因为它们应该为您提供所需的背景信息,然后是您希望遵循的分步说明,以使一切正常运行: http://www.sqlservervideos.com/video/logging-essentials

http://www.sqlservervideos.com/video/sql2528-log-files

http://www.sqlservervideos.com/video/sqlbackup-best-practices

1最大化存储效果:http://www.sqlmag.com/Article/ArticleID/100893/sql_server_100893.html

答案 2 :(得分:0)

您所做的实际上是SIMPLE模式备份,其优点是不会缩小日志。没有必要同时备份这两个。如果您正在进行完整备份,则可以截断日志。

如果您能够恢复到任何时间点,则必须每天进行一次完整备份(比如说)并在白天备份几次日志。见http://msdn.microsoft.com/en-us/library/ms191429(SQL.90).aspx