У меня есть пара баз данных SQL Server 2014, настроенная как синхронная группа доступности AlwaysOn.
Оба сервера установлены в Synchronous commit
режим доступности с тайм-аутом сеанса 50 секунд. Вторичный устанавливается как Read-intent only
читаемый вторичный.
Если я пишу в первичный, а затем сразу же читаю из вторичного (через ApplicationIntent=ReadOnly
), я последовательно читаю грязные данные (то есть состояние до записи). Если я жду примерно секунду между записью и чтением, я получаю правильные данные.
Это ожидаемое поведение? Если да, могу ли я что-нибудь сделать, чтобы убедиться, что показания со вторичного сервера актуальны?
Я хотел бы использовать вторичный как версию первичного сервера только для чтения (а также в качестве резервной), чтобы уменьшить нагрузку на первичный.