Friday, July 07, 2006

Understanding BizTalk Management Databases ( BiztalkMgmtDB)

I tried to bring out the ER diagram of some of the major tables in the management databses. I had to omit a few ( a lot :-) to get it into one screen )

Part 1 Servers Hosts and Processes

First is the Table adm_Group which contains information about BizTalk Groups. They contain information like cache frequency, the large message ,threshold bytes and certificate thumb print. This is in a way the logical top table.

Second is the adm_Host table. This table contain information about the hosts like Inproc or isolated . The thread pool size, message delivery and certificate thumbprint if configured for signing messages . Maximum delay .

This table is connected to the adm_HostInstance table .This table has info about the
host instance ( BTS Service ) running within the hosts. You can also see under what accounts the host Processes are configured to run under here . Each host has several sub services specified in the adm_HostIntance_SubServices. These are services like Caching , EPM , XLANG engine

The host are configured on th server and this enlistment is captured in the the adm_Server2HostMapping . This essentially connects the adm_hostinstance and the adm_Server .The adm_Server contains the list of servers that are members of that Biztalk group

A brief note on adm_ServiceClass is needed here as this table controls the value of the high and
low watermarks for memory , file . This setting should not be manually edited , There is a a tool
for editing these value and should have a pretty strong reason to edit these .

The adm_MessageBox table contains the messagebox entries associated with this host . You can scale biztalk by increasing the message box first vertically and then horizontally even in those situations it is recommended to go from 1 to 3 and not to 2 to see increase in performance.

Part 2 : Adapters , Recieve Ports , Send handlers ,pipelines

The next main table is the adm_Adapter , This table contains all the adapters installed for Biztalk like FTP, HTTP, EDI, File,MQ Series, MSMQ,SOAP, SQL, POP3, SMTP and WSS.

The adm_RecieveHandler table contains key to the process identification guid in the registry/DB .The adm_SendHandler is the same for the Send Process.

When we create a Recive port and a Recieve Location . The adm_ReceiveLocation will contain the entry for the port location and will have tha adapterId value corresponding to the transport type in the adm_adapter table. This will also have an entry into the bts_recieveport table which has the containing port information . similary bts_sendport contains the send port information .

In general bts_ prefix stands for the corresponding biztalk artifacts ;bts_assembly contains the deployed assemblies the bts_orchestration contains the orchestrations other tables like bts_orchestration_port,bts_pipeline follow similar pattern

In general the prefix gives you some idea about the table

  • ADM_ are administration tables
  • BAM_ ,BAS_ BAM or BAS specific tables
  • TDDS_ Tracking tables
  • BTS_ Biztalk artifacts tables
  • BT_ App specific tables
  • BIZTALK General tables

Hope that was informative .

1 comment:

Brihantal said...

Hi Abhilash,
This was very useful. I have just started learning BTS and this helped me quickly get a grip.