Per pulire un MessageBox database è possibile utilizzare una stored procedure di nome bts_CleanupMsgbox.   
Questa stored si trova chiaramante nel database di messagebox, nel caso non sia disponibile è possibile crearla in questo modo.
  Aprire SQL Server Query Analizer e aprire il file msgbox_cleanup_logic.sql che è presente nella directory <Dir di installazione BizTalk>\Schema   
Creare la stored eseguendo lo script.    
    
Attenzione perchè questa Stored ha due particolarità, la prima è che cancella tutti i messaggi in suspended di tutte le istanze e applicazioni e     
secondo, Microsoft non supporta l' utilizzo di questa stored procedure su un BizTalk Server in produzione ma solo in ambiente di test e sviluppo.
  E' chiaramente possibile adattare questa stored per eseguire la pulizia di una sola host application in questo modo.
  Modificare questo punto della stored....
  declare @nvcAppName nvarchar(256)   
declare curse cursor for     
    SELECT nvcApplicationName FROM Applications    
open curse    
FETCH NEXT FROM curse INTO @nvcAppName    
WHILE (@@FETCH_STATUS = 0)    
BEGIN     
    exec ('truncate table [' + @nvcAppName + 'Q]')    
    exec ('truncate table [' + @nvcAppName + 'Q_Suspended]')    
    exec ('truncate table [InstanceStateMessageReferences_' + @nvcAppName + ']')    
    exec ('truncate table [DynamicStateInfo_' + @nvcAppName + ']')    
    exec ('truncate table [' + @nvcAppName + '_MessageRefCountLog]')    
    FETCH NEXT FROM curse INTO @nvcAppName    
END    
close curse    
deallocate curse
  in questo modo:
  .........
 BEGIN   
    exec ('truncate table [' + @nvcAppName + 'Q]')  
    exec ('truncate table [' + @nvcAppName + 'Q_Suspended]')  
    exec ('truncate table [InstanceStateMessageReferences_' + @nvcAppName + ']')  
    exec ('truncate table [DynamicStateInfo_' + @nvcAppName + ']')  
    exec ('truncate table [' + @nvcAppName + '_MessageRefCountLog]')  
    FETCH NEXT FROM curse INTO @nvcAppName  
END  
  .......
  E dichiarare un parametro nella stored in questo modo:
  ALTER PROCEDURE [dbo].[bts_CleanupMsgbox]   
@fLeaveActSubs int = 1,    
@nvcAppName nvarchar(256)
  AS
  ..........
  Adesso è possibile ripulire la messagebox di BizTalk Server molto velocemente e sulla base di un singolo handler,    
per questa ragione in BizTalk Server è consigliabile utilizzare più host Handler di ricezione, invio e processing,
  questo metodo offre la possibilità di lavorare in modo più capillare oltre che scalabile.