Service Broker target not receiving messages

  • I recently inherited a broken Service Broker implementation. Two separate SQL 2008 EE servers on same domain.

    There was a lot of "garbage" in both databases so I ripped everyhting out and started from scratch (short of reinstalling SQL Server).

    I recreated all the message types, contracts, queues, services and routes following the BOL examples. Everything SEEMS to work, I can send a message and it appears in the sys.sysxmitqueue and sys.desend increments. However, I do not receive the message on the target. Running ssbdiagnose on the services yields the following errors which I can't track down anywhere...

    C:\>ssbdiagnose -LEVEL ERROR -E CONFIGURATION FROM SERVICE //InstDB/Test/InitiatorService -S <source server> -d SB_DAB TO SERVICE //TgtDB/Test/TargetService -S <target server> -d SB_ODS_DAB

    D 29924 <target server> SB_ODS_DAB Contract DEFAULT is not bound to service //TgtDB/Test/TargetService

    An internal exception occurred: No such host is known

    Has anyone seen the first error or know where I can look to troubleshoot this? I tried to read R. Barry Young's presentation but the link presented in the other post gives an error.

    TIA...

    DAB

  • Hi,This error may also be returned for protocol and service queries, and means the specified name could not be found in the relevant database. This is the installation policy of SQL Server 2005, known as "off by default, ..... By default, no login account has CONNECT permission to Service Broker.hope this helps.can you check sys.dm_broker_connections

    view see conversing state.

    the contracts on both systems to specify what messages (and in what direction) the service can send or receive. A contract also determines whether a message is sent by the initiator of the conversation, by the target of the conversation, or by either the initiator or the target of the conversation.SSB ensures that only message types that are defined in a contract are handled and processed. If a service sends another message type, the message is rejected, and an error message is sent back.A service represents an application-level endpoint in the SSB solution and can be both the initiator and the target of messages. A service can be bound to several queue and contract combinations. SSB can activate a service automatically whenever a new message arrives in a queue, and SSB can alternatively schedule an event for the activation or execute the service manually.And you also need to create a route on which to convey messages from the service to the remote endpoint. Routes are the communication channels that bind the services together.

  • So are you saying I can ignore this message:

    Contract DEFAULT is not bound to service //TgtDB/Test/TargetService ???

  • No, I believe she is saying that there is a lack-of-privilege problem on the target server.

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply