我正在调查为什么我的差异备份花费的时间几乎与我的完整备份一样长,我注意到每日完整备份后的第一个差异备份的大小是完整备份大小的 2/3。然而,当天剩余时间的后续差异备份大小仅增加了约 1%。
数据库的使用模式没有显着变化,而且从历史上看,每日完整备份后第一次差异备份的大小约为完整备份大小的 0.5%。我查看了每天完整备份的大小,发现它们只增长了大约 2%。
每日备份计划定义为在凌晨 1 点进行一次完整备份,然后在上午 7 点到晚上 11:59 之间进行 5 次差异备份。通常,完整备份大约需要一个半小时才能完成,其中包括验证步骤。包括验证步骤在内,微分需要大约 20 分钟才能完成,但现在它们需要大约 1 小时 10 分钟才能完成。
我已经确认数据库使用模式没有改变,在完整备份和第一次差异备份之间没有写入/更改大量数据的新作业,我没有看到任何文件子系统错误.
根据我在上面确认的所有内容,我的问题是当同一天的后续差异仅增长 1% 时,是什么导致当天的第一个差异备份变得如此之大?
服务器详细信息:
- SQL Server 2008r2 企业版
- 用于 SQL Server 的 LiteSpeed
- 数据库处于简单恢复模式
- 备份目标是网络上的文件共享
在深入研究 LiteSpeed 和 SQL Server 之间的备份日志后,我注意到每日完整备份和差异备份中的完整备份 LSN 编号之间的第一个 LSN 编号不匹配。
在阅读了有关如何在数据库备份中使用 LSN 值之后,我深入研究了导致差异中完整备份的 LSN 编号与相同的完整备份中的第一个 LSN 值不同的原因天。这篇关于SQL Server备份链的帖子让我查看了备份作业的配置,我发现该
COPY_ONLY
选项已为完整备份启用。(仍在尝试确定它是如何打开的以及何时打开)我从帖子中学到的是,该
COPY_ONLY
选项不会为后续差异备份重置 LSN 值,如果您不保留上次在没有该COPY_ONLY
选项的情况下完成的完整备份,这将是一个大问题。从博客文章:
从那以后
COPY_ONLY
,我在备份中关闭了这个选项,我的差异备份的大小已经回落到历史上的水平。我还验证了差异备份日志中的 Full Back LSN 编号与日常备份日志中的第一个 LSN 编号值相匹配。