powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / AlwaysOn AG после сбоя
5 сообщений из 5, страница 1 из 1
AlwaysOn AG после сбоя
    #39945259
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть кластер AlwaysOn AG из двух нод. После сбоя праймари нормально работало на оставшейся ноде. Вторую ноду удалось восстановить не сразу и синхронизация заняла прилично времени.
Есть запросы с параметром Readonly, в нормальных условиях подключается к вторичной ноде для чтения. Но когда второй хост включился, а базы ещё были в стадии запуска\синхронизации, запросы с Readonly подключались к вторичной, получали ошибку "база недоступна" и отваливались.

Сейчас со стороны приклада нет никакой проверки, сам SQL перенаправляет запросы, если сервер не доступен. Но проверки доступности базы похоже нет, database level health detection - при недоступности базы перемещает первичную реплику, но это и так было сделано.

Есть ли возможность включить проверку состояния баз данных для запросов с Readonly на стороне СУБД или как-то не слишком затратно делали со стороны приклада?
...
Рейтинг: 0 / 0
AlwaysOn AG после сбоя
    #39945298
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion
Есть ли возможность включить проверку состояния баз данных для запросов с Readonly на стороне СУБД

Делать отдельный процесс, который будет следить за состоянием баз(ы) вторичной(ых) реплик(и) и удалять и восстанавливать RO роутинг
...
Рейтинг: 0 / 0
AlwaysOn AG после сбоя
    #39945726
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте для подключения прослушивателя (листенер) с настроенным роутингом подключений. На клиентах в строке подкючения пропишите ApplicationIntent=ReadOnl
...
Рейтинг: 0 / 0
AlwaysOn AG после сбоя
    #39945885
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.
msLex, я правильно понимаю, что встроенных вариантов нет, только лепить костыли?
Александр, Листнер есть, по нему и подключаются. Часть запросов с параметром ApplicationIntent=ReadOnly. Тут и выяснилась проблема, что если вторичная нода совсем лежит, то всё хотя бы работает и все запросы идут на работающую первичную. А вот если вторичную включили, а базы там ещё не пришли в рабочее состояние, то запросы с ApplicationIntent=ReadOnly уже на вторичную ноду уходят, а базы доступной там нет.
Какая-то странная отказоустойчивость выходит.
...
Рейтинг: 0 / 0
AlwaysOn AG после сбоя
    #39945887
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет вариантов. Сервер запросто может редиректить читателей на реплику, на которой база не додступна для чтения. Или встриавайте в приложение логику "если вдруг не читается с ApplicationIntent=ReadOnly, то коннектимся к основной ноде без всяких интентов", или спиливайте своевременно роутинг на недоступную для чтения реплику.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / AlwaysOn AG после сбоя
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]