5

I set up Service Broker between two databases on separate instances, one on a 2008 R2 Cluster the other on a separate box also 2008 R2. I have gone through the process of setting up all the objects (users, message types, contracts, queues, services, endpoints, routes, remote service bindings, and certificates), but I am getting 5 errors when I run ssbdiagnose.

ssbdiagnose -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target

http://jeffreylangdon.com/ssb.png -- tried to post the error image, but apparently not an option since I am new to this forum.

Starting from the top error I have no idea why the Service Initiator can't be found considering I am running ssbdiagnose on the box where it resides.

Any direction would be appreciated.

Thanks,

Jeff Langdon

@jlangdon

1 Answer 1

2

The way you run ssbdiagnose in the post it would connect to the database MyDatabase on localhost and search for the initiator and target service. You mention that you've set up for two different instances, so the correct command line should be something like:

ssbdiagnose CONFIGURATION\
  FROM SERVICE /test/initiator -E -S <instance1> -d <db1>\
  TO SERVICE /test/target -E -S <instance2> -d <db2>

(I used the unix style command line terminators to prettify the code. You should use a single line).

When the connection params are pulled out ahead of the CONFIGURATION keyword they apply to every connection (FROM, TO).

2
  • Thanks for the ssbdiagnose syntax, that worked much better. Service Broker is now working between the two instance, mostly interested in sending messages from the Initiator to the Target. I ran ssbdiagnose again and I am only getting one errror. The target instance error is the "Contract DEFAULT is not bound to the Target service. I can't seem to find much on Contract Defaults. Any ideas?
    – jlangdon
    Jul 31, 2012 at 15:33
  • You need to specify the ON CONTRACT used to ssbdiagnose. Otherwise it assumes is the contract named DEFAULT Jul 31, 2012 at 16:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.