У меня есть 2 узла в моем SQL-сервере отказоустойчивого кластера. Я всегда использую SQL Server 2012 для обеспечения высокой доступности.
Проблема в том, что когда один из моих серверов выходит из строя, автоматического переключения при сбое не происходит!
Как я могу включить автоматический переход на другой ресурс?
Если аварийного переключения не происходит, первое, что нужно проверить, - действительно ли включен AlwaysOn. Возможно, самый простой способ проверить это - заглянуть в SQL Management Studio на панель мониторинга AlwaysOn. В вашей группе доступности (AG) должно быть не менее двух активных узлов. Означает ли это, что ваш AG синхронизирован? Обратите внимание, что в отличие от предыдущих решений высокой доступности, служба SQL должна работать на обоих серверах все время.
На панели управления вы можете использовать мастер отработки отказа, чтобы запросить немедленную отработку отказа. Это удается? Правильно ли выполняет ресинхронизацию бывшего основного узла за разумный промежуток времени для текущего трафика? Это, очевидно, то, что вы захотите протестировать в нерабочее время. Если у вас нет хотя бы одного узла, который отображается как синхронизированный, вы хотите сначала разрешить его, чтобы убедиться, что вы не потеряете данные.
Далее посмотрим на клиента. Клиентские приложения должны использовать собственный клиент SQL Server 11.0 (или новее), чтобы получить возможность автоматического переподключения. Более ранние версии просто отключатся.
Также важно, чтобы клиенты подключились к прослушивателю для AG. Если они подключаются напрямую к тому или иному серверу, у них не будет возможности обнаружить новый активный сервер при аварийном переключении.
Обратите внимание, что AlwaysOn не требует специальной сетевой маршрутизации или изменений DNS, как требовалось для некоторых предыдущих решений. У клиента всегда должен быть открытый сетевой путь ко всем узлам AG. Слушатель сообщит клиенту, какой узел использовать в любой момент времени. Не забудьте заглянуть в служебную программу настройки клиента SQL (Пуск> Выполнить> cliconfg.exe) на предмет псевдонимов, которые могут направлять трафик в неожиданных направлениях.