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