Hello,
I have recently implemented a Service Broker solution for asynchronous triggers. It seems to work well, but I have a question.
We have "main" database and a "demo" database. The two databases are exactly the same in schema/object definitions, but the main database has "real" data and the demo database just has demonstration data for training and evaluation purposes.
Only the main database needs Service Broker. The functionality that we have implemented is not applicable to the demo, so Service Broker is disabled in the demo database.
When one of the triggers is trigger in the demo database, I would have expected nothing to happen, since SB is disabled. However, rows are being added to the sys.conversation_endpoints and sys.transmission_queue tables. The "transmission_status" states that "The broker is disabled in the sender's database" -- that's expected because it's true. And the state is "CONVERSING" -- this makes me a little nervous as it seems like open conversations are building up.
Should I be concerned about this? Should I empty out these tables so they don't build up? Should I try to explicitly end these conversations? And lastly, why is Service Broker still "doing stuff" while it is disabled?
Thanks for any help you can provide.