I recently came upon a problem and it may benefit someone else so I am going to throw this one out there.
When auditing your database infrastructure, please make a note of if the service broker is enabled anywhere!
You ask, why?
Well, when restoring a SQL Server Database, it does not re-enable the Service Broker for that database if it was previously enabled!
So how do you determine if it is enabled?
One of the key things to keep in mind is that if you are turning it on, it will try to wait for all transactions to finish. The best way to get around this is to set the database to single user mode, enable the broker, and then set it back to multi-user.
immediate then run:
new_broker and then run: