I agree with what you have here, Miles. When I looked into the concept of using queueing for a problem I wanted to solve, it sounded like a perfect fit. Researching the implementation details left me feeling like the effort and complexity weren't worth the trouble in my case. This seems to be one of those places where a little something of the Microsoft touch is missing that would have made this incredibly useful to me. Maybe in the sea of additional capabilities queues seem to have I'm missing something, but I would have expected a basic sproc interface to get me up and running in a few minutes with minimal code, leaving all the tuning and tweaking up to those with more time invested (such as future me after I've come to know and love them):
1)define the queue
create queue MyQueue (@var1 int, @var2 int) /*here's my interface, too*/
2)define a listener as a sproc
create queueListener My Listener
@var1 int,
@var2 int
as
/*do some stuff*/
3)use the queue like an insert
insert into MyQueue values(1, 2)
As someone who works in SQL every day, I'm now able to take advantage of a queued architecture using just two concepts (ddl create and insert) I already know how to use. Give me that and I'm on board.