Monitor BizTalk Server Job in BizTalk 2010


When looking a the new features of BizTalk 2010 I noticed that the set of SQL Server Agent jobs has been extended. There is new job called ‘Monitor BizTalk Server’.

new sql job

This job is especially good news for those of us responsible for keeping BizTalk Server running and healthy.

The general idea behind the job is to check for errors and report that those errors exist in one of the message box databases, the management or the tracking database. A zombie message is an example of an error that will be detected. For a complete list of all the issues see the BizTalk 2010 help on this topic

The job consists of two steps. The first step is responsible for collecting error data from the different message box databases, the management database and the tracking database. The second step checks the collected data and raises an error if there is an issue in of the databases.

job steps

If any inconsistencies are found the job will fail and will write an error to the application event log. You can easily extend this by configuring other notifications for the job like e-mail, etc.

job notification

The job does not fix any issues it is just provides an alert mechanism. You can other tools like the BizTalk administration Console to fix any issues found.

When running the job on a healthy BizTalk server environment, the job succeeds:

job success

Now I use the following non uniform sequential convoy orchestration to generate a zombie message:

orchestration

I can easily do this by throwing in message 2 (destination receive shape 2) multiple times. The orchestration is only expecting one instance of message 2 which will lead to a zombie message. In the admin console this looks like this:

admin console error

When running the job the second time I now see the following result:

job outcome error

The job history gives me more detailed information of what is wrong:

error job history

This information is also in the event log:

eventlog error

Some final considerations:

  1. By default the job is scheduled to run once a week. You can of course change this schedule if you like.
  2. This seems to be a heavy job in terms of SQL resource usage. Microsoft recommends to run the job during low traffic.
  3. The will not detect if issues have already been reported. When the job runs for the second time and the issues have not been fixed they will be reported again.

I think this is a useful new feature in BizTalk Server 2010. I have seen many clients where issues in the BizTalk databases where not noticed for a long time.

About these ads

4 Responses to Monitor BizTalk Server Job in BizTalk 2010

  1. Tim Riley says:

    This seems like a very useful tool. Is Microsoft intending to make the script for this job available for earlier versions of BizTalk, e.g. 2006R2?

  2. Andres says:

    Excellent article. Very useful

  3. Mikael Sand says:

    Wonderful article! This feature in it self is something that may actually encurage some customers to upgrade.

  4. Shaheer says:

    Great post! I’ve recommended this post to a number of people to provide them a quick understanding of the Monitor BizTalk Job.

    One of the most common questions I get when I talk about this job is “How do I fix the issues that the Monitor job identifies?”.

    We have a tool we created within Microsoft Support that addresses many of these issues so I wanted to provide a link here:

    http://blogs.msdn.com/b/biztalkcpr/archive/2009/05/06/using-biztalk-terminator-to-resolve-issues-identified-by-biztalk-msgboxviewer.aspx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: