BizTalk SQL job “MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb” always be shown as suspended in SQL Activity Monitor
Symptom:
According to BizTalk best practice,
we should ensure BizTalk related SQL jobs were enabled and running well in SQL
agent. These jobs would help maintaining BizTalk Databases under healthy
status. However, if go to SQL Activity Monitor, the session status for job
“MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb” would always be shown as
suspended
Explanation:
This symptom is expected due to the
implementation of job “MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb”.
This job will call another store
procedure named bts_ManageMessageRefCountLog in BizTalkMsgboxDb. There is an
infinite loop in that store procedure as illustrated below. Each time the loop
body finished, there would be a 10 seconds delay. So once the store procedure
is executing delay command, the SP’s status would be set to suspended and wait
for the timer. If you pay special attention to the wait time column in Activity
Monitor, you can find the value is always less than 10000ms.
……
WHILE (1 = 1)
BEGIN
--Do the job’s work
WAITFOR DELAY '0:00:10' --delay 10 seconds
END
……
More information for Reference:
Description of the SQL Server Agent
jobs in BizTalk Server
https://support.microsoft.com/kb/919776
Regards,
Bryan Yang