Hi, I hope someone can point me in the right direction here.
We have a production environment consisting of two separate instances, let's name them A and B, A being SQL 2005 and B SQL 2008 R2. The communication is mostly one way, A -> B.
Recently, the customer agreed to upgrade instance A with a SQL 2008 R2 on a brand new host, let's call it A'. In order to minimize impact on the platform, the idea is to keep A running and sending messages to B, restore a full backup of A on A', then halt the platform, restore an incremental backup on A' and restart the platform using A' as main database. A' would already be pointing to B for broker communication and routes would be changed on B to point to A' for the acknowledgments.
We have A' already in place and we are trying to assure broker communication. We are using transport security based on certificates, and already exchanged public keys between A' and B, replicating the same scenario in place for A and B. We have set up a test service on A' and B and tried to send a message from A' to B. And this is what we have:
- The messages arrives at B, but the acknowledgment doesn't get back to A', so it retries the messages forever.
- transmission_status column in sys.transmission_queue on A' is empty, so it confirms the point above.
- In SQL Profiler on B we see the message arriving, the classifier decides the route as LOCAL. Also, we see the "Acknowledgement Sent" event.
- In SQL Profiler on A' we only see the Message with Acknowledgment Sent event, nothing else. No droping messages, no errors whatsoever, nothing.
- Using Get_Transmission_Status function on B to check the transmission status of the acknowledgment gives back an empty string.
I have double and triple checked the route from B to A' and it appears to be correct. Besides, I think I would have some kind of feedback through Get_Transmission_Status if that were the case.
Another thing we tried is to send a message from B to A'. We got nothing in transmission_status on B, and nothing received on A', including no event of any kind in a Profiler on A'.
What am I missing? Is there some way I can be sure the acknowledgments are arriving on A'?
Thanks