bts_CleanupMsgbox doesn’t work well with TDDS

DISCLAIMER --
The bts_CleanupMsgbox stored procedure IS NOT SUPPORTED. IT IS NOT TO BE USED ON PRODUCTION SYSTEMS!!! The steps to workaround the bts_CleanupMsgbox issue outlined below ARE NOT TO BE USED ON PRODUCTION SYSTEMS!!! You can use bts_CleanupMsgbox and the steps in this posting in a test environment at your own risk. This posting is provided "AS IS" with no warranties, and confers no rights.

If you don’t know about bts_CleanupMsgbox or you don’t use it then you don’t need to worry about anything in the rest of this post.

If you want to learn how to use bts_CleanupMsgbox in test environment go here.

If you use the bts_CleanupMsgbox stored procedure on you BizTalk Message Box databases then be advised that it doesn’t work well with TDDS. You might loose significant amount of BAM and/or HAT data. bts_CleanupMsgbox will be fixed soon but until then here’s what you can do to avoid issues.

Procedure to use bts_CleanupMsgbox safely with regard to TDDS:
1. Read the DISCLAIMER at the beginning of this post. Never use these steps on a production system.
2. Stop all tracking hosts (BizTalk processes hosting TDDS).
3. Run bts_CleanupMsgbox.
4. Truncate the TDDS_StreamStatus tables in the BAMPrimaryImport database and the BizTalkDTADb by executing the following statement:
    truncate table [TDDS_StreamStatus]
5. Restart all tracking hosts.

This posting is provided "AS IS" with no warranties, and confers no rights.