DTA Purge & Archive Job when Global Tracking is disabled

Hi all, 


I have seen some confusion around the Job: DTA Purge & Archive, especially in regard to when the Global Tracking is disabled.


There are two important points to note:

1. Turning off Global Tracking by setting adm_Group table, column GlobalTrackingOption to 0 in the BizTalkMgmtDb does not always fully disable Global Tracking. See SOX061023700004.

2. Even when Global Tracking is successfully disabled the DTA database can continue to grow for two reasons:

                i) Every time the BizTalk Backup job runs it inserts a row in the MarkLog table of every database backed up (that will include DTA).

                ii) Every time you terminate a suspended instance a row will be written to ServiceInstances table in DTA


Point i. you cannot do anything about, although the Terminator tool has a task to clear this down.


Point ii. is a bug that is not going to be fixed. (Applies to 2009, R2, 2006, 2004). It is unfortunately not documented (yet).


If you enable the DTA Purge & Archive job then both Dtasp_BackupAndPurgeTrackingDatabase and Dtasp_PurgeTrackingDatabase will cause the

dta_ServiceInstances table to get cleared down (FYI along with dta_CallChain, dta_DebugTrace, dta_MessageInOutEvents, dta_ServiceInstanceExceptions, Tracking_Fragments1/Part1/Spool1 (not 2), dta_MessageFieldValues, and various Rules tables).


That is why it is worth enabling the job (even if it only runs once a week).