我们每隔几分钟就会从许多数据库中备份事务日志。有没有办法确定自上次备份以来是否有任何提交的事务,然后才进行日志备份?
例如,某些数据库在夜间没有任何更改。但是每次运行日志备份脚本时,我们仍然会为这些数据库获得许多微小的日志备份。
我已经尝试根据记录在 msdb 中的先前备份的 last_lsn 编写脚本,并使用 fn_dblog 来查看是否有新提交的事务。到目前为止我还没有成功。
一点背景:
这些日志备份每隔几分钟进行一次并保存到 Azure Blob 存储。它们不会恢复到另一个数据库(又名日志传送)。在一天之内,我们将获得每个数据库数百个日志备份。如果我们不得不从 Azure 恢复某些内容,我想避免有 100 甚至 1000 个日志文件,其中没有任何用户事务,从而延长了恢复过程。