We've recently decommissioned a rather badly implemented service broker setup after a number of near outages, however while doing my morning checks I've noticed that there are 2 Service Broker internal SPIDs (<50) which are still holding ~75% of TempDB space.
Now, I know these are service broker tasks because the CMD column on SysProcesses shows 'BRKR EVENT HNDLR' and 'BRKR TASK', while the last wait types are 'BROKER_EVENTHANDLER' and 'SLEEP_TASK' respectively. Both have 'BACKGROUND' as a status, 0 open trans and a last batch time of over a month ago.
Currently the service broker implementation has been fully disabled (from a code perspective), the queues are disabled (is_activation_enabled and is_receive_enabled = 0), there is nothing in the transmission_queue, conversation_endpoints or actual queues, but the database in question does still have is_broker_enabled = 1 (as do TempDB and MSDB).
The server is currently running SP2 with a security fix (11.0.5343.0) and the TempDB usage appears to persist even after a cluster failover. We've not tried restarting as this is a production system, but I would have thought that a failover would have had the same effect.
Has anyone encountered this issue previously and if so, what did you do to resolve it?