Поделиться через


Настройка группы доступности AlwaysOn для отработки отказа при недоступности файла данных базы данных

Итоги

В группе доступности AlwaysOn SQL Server обнаружение работоспособности на уровне базы данных может выполнять отработку отказа только в том случае, если ошибка (сбой диска или аналогичный) возникает в журнале транзакций базы данных.

Если ошибка возникает в файле данных, SQL Server отправляет уведомление об ошибке в отказоустойчивый кластер Windows Server (WSFC) и использует его для принятия правильного решения на основе конфигурации политики.

Чтобы настроить группу доступности AlwaysOn для отработки отказа при возникновении ошибок 823 и других , используйте одну из следующих процедур:

Настройка диспетчера отказоустойчивости кластеров

Эта процедура настраивает политику WSFC, чтобы вызвать отработку отказа одному из возможных владельцев, а не пытаться перезапустить роль на текущем первичном узле.

  1. Откройте диспетчер отказоустойчивости кластеров.

  2. Разверните кластер и выберите "Роли".

  3. Щелкните правой кнопкой мыши роль группы доступности и выберите "Политики свойств>".

  4. Задайте для параметра "Максимальное число перезапусков" в заданном периоде значение 0.

  5. Установите флажок Если все попытки перезапуска завершаются сбоем, начните перезапуск снова после указанного периода (чч:мм) и нажмите кнопку "ОК".

  6. Убедитесь, что оба узла являются возможными владельцами и предпочитаемыми владельцами.

Настраиваемый параметр конфигурации

Эта процедура содержит пример использования доступного механизма генерации оповещений в SQL Server и агент SQL Server для обнаружения ошибки и выполнения отработки отказа.

  1. В СРЕДЕ SQL Server Management Studio разверните агент SQL Server, щелкните правой кнопкой мыши оповещения и выберите "Создать оповещение...".

  2. Укажите значение имени, выберите оповещение о событии SQL Server для типа, укажите значение номера ошибки 823 или любую другую нужную ошибку в списке, а затем нажмите кнопку "ОК".

  3. Выберите "Ответ", установите флажок "Выполнить задание", выберите нужное задание и нажмите кнопку "ОК".

  4. В диалоговом окне свойств шага задания укажите значение имени шага, выберите операционную систему (CmdExec) для Type, а затем выберите агент SQL Server учетную запись службы для запуска от имени.

  5. Введите следующую команду sqlcmd отработки отказа:

    sqlcmd -S <SecondaryReplicaName> -U SQLADMIN -P <YourPassword> -Q "ALTER Availability Group <AGName> Failover"

    Примечание.

    <SecondaryReplicaName>, <YourPassword>и <AGName> являются заполнителями. Необходимо изменить его в соответствии с средами. Этот скрипт является примером для справки. Полный скрипт должен выполнять другие проверки перед выполнением отработки отказа.