Share via


BizTalk Databases: Survival Guide

Introduction

Microsoft BizTalk Server databases and the health of the databases are very important for a sustainable BizTalk Server messaging environment. The BizTalk database jobs play an important role in keeping the BizTalk databases healthy. Besides jobs, there are many other factors you have to consider like disaster recovery, tracking, and availability (e.g. clustering). There are some best practices when it comes to maintenance (see table below).

Action

Description

Monitor the size of databases and tables

Performance degrades on High Size of BizTalk databases. BizTalk Server takes a longer time than normal to process even a simple message flow scenario.

Enable tracking on BizTalk Server Host

By default, tracking is enabled on the default Host. BizTalk requires the Allow Host Tracking option be checked on a single Host. When tracking is enabled, the Tracking Data Decode Service (TDDS) moves the tracking event data from the BizTalk Server MessageBox database to the BizTalk Server tracking database. If no BizTalk Server Hosts are configured with the option to Allow Host Tracking or if the Tracking Host is stopped, then TDDS will not run and the TrackingData_x_x tables in the BizTalk Server Messagebox database will grow unchecked. Therefore, a dedicated BizTalk Server Host should be configured with the option to Allow Host Tracking.

Use the correct BizTalk SQL Server Agent jobs

Execution of the BizTalk Server SQL Agent jobs are crucial for managing the BizTalk Server databases and for maintaining optimal performance.

Monitor and terminate suspended instances

Service instances can be suspended (resumable) or suspended (not resumable). These service instances may be Messaging, Orchestration, or Port. BizTalk Server 2009 accommodates termination and removal of these instances by using the Group Hub page in the BizTalk Server Administration Console or through the use of the Terminate.vbs script.

Monitor the performance counters of the PhysicalDisk performance object

BizTalk Server makes a large number of short, very quick transactions to SQL Server within one minute. If the SQL Server cannot sustain this activity, you may experience BizTalk Server performance issues. Monitor the Avg. Disk sec/Read, Avg. Disk sec/Transfer, and Avg. Disk sec/Write performance monitor counters in the PhysicalDisk performance object. The optimal value is less than 10 ms (milliseconds). A value of 20 ms or larger is considered poor performance.

Ensure all required BizTalk SQL Server Agent jobs are enabled and running

All the BizTalk SQL Server Agent jobs except the MessageBox_Message_Cleanup_BizTalkMsgBoxDb job should be enabled and running successfully. Do not disable any other job. The MessageBox_Message_Cleanup_BizTalkMsgBoxDb is called by the MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb job.

Delete all unwanted data

If the databases have grown to become too large and if the data contained in the databases will not be required any longer, the preferred method is to delete the data

Resources

The following list of resources (most targeted for BizTalk 2010) can be beneficial for you in having a healthy and sustainable BizTalk environment.

General

Upgrading

Database Jobs

Disaster Recovery

Tracking

High Availability

Other languages

This article is also available in other languages

See Also

Read suggested related topics:

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki