Answered forwarding error

  • Tuesday, February 27, 2007 10:49 AM
     
     

    Hi There

    I am doing the follwing , sending a message from initiator A to service73 at targetA.

    I am profiling the initiator, forwarer and target.

    At the initiator everything is 100%, at the forwarder message is forwarded 100%.

    I am receiving the following error at the target:

    Could not forward the message because forwarding is disabled in this SQL Server instance.

    Now i have had these errors before, this was due to the fact that the service did not exist at the target or the service name was incorrect etc.

    I have check , service73 exists and is fully functional at the target, all message types, contracts etc are all 100%.

    Queue for service73 is enabled 100%

    please help.

    Thanx

     

     

All Replies

  • Tuesday, February 27, 2007 4:56 PM
    Moderator
     
     Answered

    If the target is tracing that message it means it tries to forward that message somewhere. That can only be the result of a route on target's msdb that declares the target service 'service73' as remote ('tcp://address:port'). Note that even apparently 'local' routes like 'tcp://localhost' or 'tcp://thiscomputername' are considered remote and thus 'forwarded'.

    Either drop the route in msdb or change it to 'LOCAL'.

    HTH,
    ~ Remus

  • Wednesday, February 28, 2007 5:02 AM
     
     

    Hi Remus

    I should have known that, you are spot on. I was totally dumb funded when i originally checked that the routes were not created on the forwarder as i was sure i did it. It was a simple case of being on the wrong server in management studio when creating the routes!!

    Thanx a million

  • Friday, August 08, 2008 4:28 PM
     
     
    After doing an alter server set new_broker I am getting the same errors in my trace, I checked and in the msdb the route is set to LOCAL, can anyone suggest where to look next?

    Bill
  • Friday, August 08, 2008 7:00 PM
    Moderator
     
     
    Perhaps your route in msdb includes broker_instance identifier? If that is the case, after issuing set new_broker, your database was assigned different ID and the one in msdb route doesn't match anymore.

     

  • Friday, May 28, 2010 1:10 AM
     
     

    Thanks Remus and Pawel!

    Both your suggestions helped me fix my"Could not forward the message because forwarding is disabled in this SQL Server instance." error!

     

    For those interested, after a database restore my service broker was broken. The following steps helped to restore my service broker.

    1. Mapped login to user using sp_change_users_login 
    2. Ran ALTER DATABASE <DB> SET NEW_BROKER WITH ROLLBACK IMMEDIATE (In the MASTER DB)
    3. Ran ALTER DATABASE <DB> SET ENABLE_BROKER
    4. Drop the existing route from target to itself
    5. Recreate the route from target to itself
    Thanks a million guys!

     

     

  • Monday, March 19, 2012 10:51 PM
     
     

    Hello,

    I'm also getting this error "Could not forward the message because forwarding is disabled in this SQL Server instance." from my target server.  My msdb route has the correct guid, the address is set to local.  Is there any other reason why this message is appearing?  Is there an actual "forwarding" setting that can be enabled on the SQL Server instance?

    - Frustrated Noob