BizTalk ManageMessageRefCountLog死锁问题咨询及性能计数器影响确认
BizTalk死锁问题答疑
一、性能计数器采样间隔调整的影响
BizTalk核心的消息处理、管理进程不会依赖性能计数器采样功能。你提到的MsgBoxPerfCounters_GetTrackingDataSize仅用于刷新性能计数器数据,既然你们不使用性能计数器监控,增大"Message box performance counter sampling interval"(甚至设为最大值12小时)不会影响BizTalk的核心业务流程、消息流转或管理操作。
二、无错误事件的死锁是否可忽略
根据微软官方文档的说明:
BizTalkMsgBoxDB是高容量、高事务的在线事务处理(OLTP)数据库,此类数据库中出现一些死锁是正常的,且BizTalk Server引擎会在内部处理这些死锁。出现此情况时,错误日志中不会记录错误。排查死锁场景时,必须将输出中发现的死锁与事件日志中的死锁错误关联起来。
结合你的场景:
- 死锁牺牲品是
bts_ManageMessageRefCountLog(由MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb作业触发)和MsgBoxPerfCounters_GetTrackingDataSize,且无相关错误事件生成 - 这种情况属于BizTalk引擎内部可自动处理的正常死锁范畴,忽略是安全的
但需注意:如果后续出现死锁伴随事件日志错误、消息处理延迟/失败、作业长期无法完成(比如你提到的MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb无限运行),则需要进一步排查,比如检查作业执行频率、MsgBox数据库索引碎片、事务隔离级别等。
内容的提问来源于stack exchange,提问作者user8706961
相关产品推荐
相关产品推荐

