我们有一个使用 Service Broker 进行异步消息传递的系统,具有相当高的消息吞吐量。在这种情况下,我们并不真正关心 SSB 的持久特性——消息几乎只是即时通知,如果在预期的接收方应用程序启动时没有立即处理它们,我们最终只会丢弃任何备份消息应用程序重新启动。
我们注意到我们的数据库正在显示非常大的事务日志备份,其中大部分都充满了 SSB 事务。这使我们的备份管理和测试恢复方案变得复杂,通常只会让 DBA 的工作更加艰难。
在我们真的不关心让它们可用于恢复的情况下,是否有任何提示或技巧可用于最小化 SSB 消息的事务日志开销?
您可以为 SSB 负载使用不同的数据库。看起来您的 SSB 数据本质上是暂时的。这将允许您切换到
SIMPLE
该数据库的恢复模式或丢弃日志备份,以防您FULL
出于其他原因(如镜像)需要。我认为您无法减少 SSB 操作的日志使用量。我有兴趣看到其他答案,但通常日志使用对于 OLTP 样式的事务是不可调整的。它们总是被完全记录下来。最小日志记录仅适用于特殊情况。