Нет сообщений, полученных в очереди после отработки отказа в SQL Always On
У нас есть приложение, которое использует компонент Service Broker для получения уведомлений от SQL Server. Приложение работает нормально, когда у нас не включен SQL Always On, и когда мы взаимодействуем с одной БД.
В последнее время у нас есть SQL Always On. После того, как мы переключаемся с SQL Node1 на другой SQL Node2, мы прекращаем получать любые уведомления от SQL Node2. Перед тем, как выполнить аварийное переключение, мы получаем уведомления, даже если используется SQL Always On. Чтобы снова получать уведомления, мы должны снова отправить контрактные сообщения сервисного брокера, команду ожидания и получения для конкретной службы, очереди и т. Д., Что эквивалентно перезапуску нашей службы.
Я просмотрел Интернет и нашел эту статью MSDN о Service Broker для SQL Always On. Я выполнил действия, упомянутые в этом разделе вышеприведенной статьи, особенно в разделе " Требования к службе в группе доступности для получения удаленных сообщений".
4-й шаг, упомянутый в статье выше: убедитесь, что msdb содержит либо маршрут AutoCreatedLocal, либо маршрут к конкретной службе. Но AutoCreatedLocal присутствовал по умолчанию, поэтому я ничего не делал для 4-го шага.
Но все равно я не получаю никаких уведомлений после аварийного переключения.
Подскажите, пожалуйста, о том, какие этапы я пропустил или не выполнили правильно, или какие-либо дополнительные элементы, о которых нужно позаботиться.