DTA Purge & Archive Job when Global Tracking is disabled
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).