SQL Server 2005中的备份策略

在此先感谢您提供有关此主题的任何帮助。 这是我从stackoverflow来的第一个serverfault post。

我已经在工作中设置了一个SQL Server实例,用于安装我们销售的应用程序,理想情况下,我们希望自己离开。 为此,我设置了一些运行备份,清除日志表和重build索引等的维护计划。

所有这些工作正常,但我对备份的工作方式有点困惑。 我每周都进行全面备份,每晚进行差异备份和每小时事务日志备份。 一切工作正常,但随着系统的使用增加,我注意到每小时事务日志备份变得越来越大。 有时甚至超过2GB,而完整备份只需要90MB。 这可能是正常的,但对我来说这似乎很奇怪。 据我了解,事务日志备份对服务器的影响应该是非常小的,但怎么会这样呢,写出2GB的数据永远不会那么快。 当然,这些日志的大小正在导致磁盘空间问题(服务器的规格是吝啬的 – 不是我的select),我们有一些损失的服务。

所以真的有两个问题,为什么事务日志备份如此之大,我是否可以做一些错误的事情。

其次,如果我烦恼事务日志备份,那么为什么不去每小时差异备份,因为它们大小只有20MB左右。

如果有人幻想着指向我在备份主题方面的一些很好的阅读,我也会很感激。 我有一本好书,SQL Server 2005发布了,但是我可能需要更多关于备份的详细信息,才能真正获得我需要的信息来devise适当的备份计划。

造成这种行为的原因之一是当你有一个数据库执行大量的更新,插入和删除。 在你的情况下,如果数据只是被更新或行被插入/删除,整体数据库可能不会增长。 将数据库设置为完全恢复模式将意味着SQL Server需要维护所有这些更改的运行日志,这使您可以执行时间点恢复,但是必然意味着您的日志备份会很大。

首先,我会质疑你的应用程序是否真的需要时间点恢复? 不是说这是你可以做出的决定,而是一个商业决定。 如果企业确定需要时间点,那么可以考虑以较小的时间间隔进行事务日志备份,并让权限知道您将需要大量存储空间!

如果企业决定不需要点整型时间,但希望实现最新的可恢复性,那么可以考虑使用大容量日志logging恢复模式,并每隔几分钟进行一次日志备份。 这可能会减less日志备份的大小,具体取决于应用程序在做什么,因为某些操作可以被最小化logging 。 这意味着当发生日志备份时,它实际上是复制最小日志事务的数据页面。

当然,如果企业为丢失数小时或数天的数据而感到高兴,那么使用全备份/差异备份的组合来转换到简单恢复模式是一种好方法。