My initiator queue is filled with about 18 million old messages of either EndDialog or Error message_type_name.
Apparently the Microsoft sample code I used to set up internal activation (http://msdn.microsoft.com/en-us/library/cc281517.aspx) didn't include a step for ending the dialog on the Initiator side (I've read that this is called "Fire and Forget").
I'm wondering, because my sysdercv and other service broker related tables are now into the double digit gigabytes: how can I get rid of these old messages?
I've tried to run END CONVERSATION on several thousand so far, but I'm not seeing any change in size in those system tables.
Additionally, how can I alter the Initiator Service/Queue to automatically EndDialog in the future?
Edit: I should mention that despite more and more messages passing through the pipeline, I haven't seen any of these system tables change size in at least a half hour.