Настройка группы доступности AlwaysOn для отработки отказа при недоступности файла данных базы данных
Итоги
В группе доступности AlwaysOn SQL Server обнаружение работоспособности на уровне базы данных может выполнять отработку отказа только в том случае, если ошибка (сбой диска или аналогичный) возникает в журнале транзакций базы данных.
Если ошибка возникает в файле данных, SQL Server отправляет уведомление об ошибке в отказоустойчивый кластер Windows Server (WSFC) и использует его для принятия правильного решения на основе конфигурации политики.
Чтобы настроить группу доступности AlwaysOn для отработки отказа при возникновении ошибок 823 и других , используйте одну из следующих процедур:
Настройка диспетчера отказоустойчивости кластеров
Эта процедура настраивает политику WSFC, чтобы вызвать отработку отказа одному из возможных владельцев, а не пытаться перезапустить роль на текущем первичном узле.
Откройте диспетчер отказоустойчивости кластеров.
Разверните кластер и выберите "Роли".
Щелкните правой кнопкой мыши роль группы доступности и выберите "Политики свойств>".
Задайте для параметра "Максимальное число перезапусков" в заданном периоде значение 0.
Установите флажок Если все попытки перезапуска завершаются сбоем, начните перезапуск снова после указанного периода (чч:мм) и нажмите кнопку "ОК".
Убедитесь, что оба узла являются возможными владельцами и предпочитаемыми владельцами.
Настраиваемый параметр конфигурации
Эта процедура содержит пример использования доступного механизма генерации оповещений в SQL Server и агент SQL Server для обнаружения ошибки и выполнения отработки отказа.
В СРЕДЕ SQL Server Management Studio разверните агент SQL Server, щелкните правой кнопкой мыши оповещения и выберите "Создать оповещение...".
Укажите значение имени, выберите оповещение о событии SQL Server для типа, укажите значение номера ошибки 823 или любую другую нужную ошибку в списке, а затем нажмите кнопку "ОК".
Выберите "Ответ", установите флажок "Выполнить задание", выберите нужное задание и нажмите кнопку "ОК".
В диалоговом окне свойств шага задания укажите значение имени шага, выберите операционную систему (CmdExec) для Type, а затем выберите агент SQL Server учетную запись службы для запуска от имени.
Введите следующую команду sqlcmd отработки отказа:
sqlcmd -S <SecondaryReplicaName> -U SQLADMIN -P <YourPassword> -Q "ALTER Availability Group <AGName> Failover"
Примечание.
<SecondaryReplicaName>
,<YourPassword>
и<AGName>
являются заполнителями. Необходимо изменить его в соответствии с средами. Этот скрипт является примером для справки. Полный скрипт должен выполнять другие проверки перед выполнением отработки отказа.