每个 MSSQL 事务日志备份的大小都会增加,但日志会被截断

每个 MSSQL 事务日志备份的大小都会增加,但日志会被截断

客户端数据库的使用速度稳定,每小时的事务数量应该大致相同。我在日志备份后立即运行了 DBCC SQLPERF (LOGSPACE),使用的空间从备份前的 30% 左右减少到了 3%,因此日志备份正在刷新事务日志中的大部分数据。那么为什么每个事务日志备份都比上一个略大呢?我预计事务日志备份大小将大致保持不变,在两个方向上波动,但每次都会变大。请查看屏幕截图不断增加的日志备份

在进行备份时,我也运行了几次 DBCC OPENTRAN,没有活动的打开事务。

答案1

我在日志备份之后立即运行了 DBCC SQLPERF(LOGSPACE),使用的空间从备份前的约 30% 减少到了 3%,因此日志备份正在从事务日志中清除大部分数据。

这是件好事:) 那么,看上去似乎没有什么问题。

那么为什么每次事务日志备份都比上一次稍大一些呢?

根据图片,情况并非如此(午夜时的那张比其他的要大 1.5 倍),但我们不要纠结于技术细节(尽管这是一个技术问题 [糟糕的双关语])。

客户的数据库使用速度稳定,每小时的交易数量应该大致相同

让我们认为情况就是这样,同样数字发生交易。这是否意味着交易都是一样的尺寸不,不是。此外,这不考虑任何可能最低限度记录然后需要将整个范围作为日志的一部分进行备份(并不是说这种情况正在发生,只是另一个“并非所有交易都是相同的”的例子)。

底线是什么?

这里似乎没有任何问题。日志备份工作正常,您的 VLF 正在被重复使用,生活似乎真的很美好!事实上,日志备份的大小可能会在正常情况下增加,这很正常,事实上,有很多地方每天生成 TB 级的日志备份,没有任何问题。

相关内容