I was just reading Mike
Holdorf’s post on the bts_CleanupMsgbox stored procedure.  The team I work
with has been able to make good use of this sproc as well, especially while stress
testing.

One thing to beware of is this: Your habit for doing this kind of thing might
lead you to open up Sql Query Analyzer, and right click on the stored procedure
– selecting “script to new window as execute.”  This will generate
the following:

DECLARE @RC int
DECLARE @fLeaveActSubs int
-- Set parameter values
EXEC @RC = [BizTalkMsgBoxDb].[dbo].[bts_CleanupMsgbox] @fLeaveActSubs

Ahhh, but the stored procedure actually defaults fLeaveActSubs to “1”,
whereas this code will leave fLeaveActSubs as “0”.  This will cause
all your subscriptions to be deleted, and you will have to redeploy your BizTalk applications. 
Not that I would know….

So just do “exec bts_CleanupMsgbox”…