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


Гибкая политика отработки отказа для автоматического перехода на другой ресурс группы доступности (SQL Server)

Гибкая политика отработки отказа предоставляет гранулярное управление условиями, которые могут вызвать автоматический переход на другой ресурс для группы доступности. Изменяя условия отказа, которые инициируют автоматический переход на другой ресурс, и частоту проверки исправности, вы можете увеличить или уменьшить вероятность автоматического перехода на другой ресурс и добиться высокого уровня доступности соглашения об уровне обслуживания.

Гибкая политика отработки отказа группы доступности определяется уровнем условий сбоя и пороговым значением времени ожидания проверки работоспособности. При обнаружении, что группа доступности превысила уровень условий сбоя или пороговое значение проверки времени ожидания работоспособности, DLL-ресурс группы доступности ответит WSFC-кластеру. После этого WSFC-кластер инициирует автоматический переход на вторичную реплику.

Важно!

Если в группе доступности превышен порог сбоя WSFC, то кластер WSFC не выполняет автоматический переход на другой ресурс для этой группы доступности. Более того, группа ресурсов WSFC для группы доступности остается в состоянии сбоя, пока администратор кластера вручную не переведет сбойную группу ресурсов в режим «в сети» или пока администратор базы данных вручную не выполнит переход группы доступности на другой ресурс. Порог сбоя WSFC определяется как максимальное число сбоев, которые могут произойти в группе доступности за заданный период времени. По умолчанию используется период в шесть часов, а максимальное число сбоев за этот период по умолчанию равно n-1, где n — число узлов WSFC. Чтобы изменить пороговые значения сбоя для заданной группы доступности, используйте консоль диспетчера отработки отказа WSFC.

Пороговое значение времени ожидания проверки работоспособности

Библиотека ресурсов группы доступности в WSFC-кластере выполняет проверку исправности первичной реплики путем вызова хранимой процедуры sp_server_diagnostics для экземпляра SQL Server, на котором располагается первичная реплика. sp_server_diagnostics возвращает результаты с интервалом, равным 1/3 порогового значения времени ожидания при проверке работоспособности для группы доступности. Пороговое значение времени ожидания при проверке работоспособности по умолчанию составляет 30 секунд, то есть sp_server_diagnostics возвращает сведения с интервалом в 10 секунд. Если sp_server_diagnostics работает медленно или не возвращает сведения, библиотека ресурсов ожидает, пока истечет полный интервал для описанного порогового значения, и только затем определяет, что первичная реплика не отвечает. Если первичная реплика не отвечает, инициируется автоматический переход на другой ресурс, если она поддерживается.

Важно!

sp_server_diagnostics не выполняет проверку работоспособности на уровне базы данных.

Уровень условий сбоя

Уровень условий сбоя для группы доступности определяет, обеспечат ли диагностические данные и сведения о работоспособности, возвращенные командой sp_server_diagnostics , автоматический переход на другой ресурс. Уровень условия сбоя определяет, какие условия сбоя инициируют автоматический переход на другой ресурс. Существует пять уровней условий сбоя, которые варьируются от наименее ограничительного (уровень 1) до наиболее ограничительного (уровень 5). Заданный уровень включает в себя ограничения всех предыдущих уровней. Таким образом, наиболее строгий уровень 5 включает в себя менее строгие уровни ограничений с 1 по 4 и т. д.

Важно!

Ни на одном из уровней условий сбоя не обнаружено поврежденных и подозрительных баз данных. Следовательно, поврежденная или подозрительная база данных (из-за ошибки оборудования, повреждения данных или по другой причине) никогда не вызывает автоматического перехода на другой ресурс.

В следующей таблице описываются условия сбоя, которые соответствуют каждому уровню.

Level Условия сбоя Значение Transact-SQL Значение PowerShell
Один При остановке работы сервера. Это наименее ограничительный уровень. Указывает, что автоматический переход на другой ресурс инициируется при возникновении любой из следующих ситуаций:

Служба SQL Server остановлена.

Аренда группы доступности для подключения к кластеру WSFC истекла, поскольку от экземпляра сервера не было получено сообщение ACK. Дополнительные сведения см. в статье Как это работает: время ожидания аренды AlwaysOn SQL Server.
1 OnServerDown
Два При отсутствии ответа от сервера. Указывает, что автоматический переход на другой ресурс инициируется при возникновении любой из следующих ситуаций:

Экземпляр SQL Server не подключается к кластеру, а определяемый пользователем порог времени ожидания проверки исправности для группы доступности превышен.

Реплика доступности находится в неисправном состоянии.
2 OnServerUnresponsive
Три В случае критической ошибки сервера. Указывает, что автоматический переход на другой ресурс инициируется в случае появления критических внутренних ошибок SQL Server , таких как потерянные спин-блокировки, серьезные нарушения доступа для записи или формирование слишком больших дампов. Это уровень, заданный по умолчанию. 3 OnCriticalServerError
Четыре В случае ошибки сервера средней значимости. Указывает, что автоматический переход на другой ресурс инициируется в случае появления умеренных внутренних ошибок SQL Server , например устойчивое состояние нехватки памяти в пуле внутренних ресурсов SQL Server . 4 OnModerateServerError
Пять При любых подходящих условиях сбоя. Это наиболее ограничительный уровень. Указывает, что автоматический переход на другой ресурс инициируется при любом удовлетворяющем условиям состоянии сбоя, включая:

Исчерпание рабочих потоков SQL Engine.

Обнаружение неразрешимой взаимоблокировки.
5 OnAnyQualifiedFailureConditions

Примечание

Отсутствие ответа экземпляра SQL Server на клиентские запросы не является существенным для групп доступности.

Связанные задачи

To configure automatic failover

См. также

См. также:

Обзор групп доступности AlwaysOn (SQL Server)
Режимы доступности (группы доступности AlwaysOn)
Отработка отказа и режимы отработки отказа (группы доступности AlwaysOn)
Отказоустойчивая кластеризация Windows Server (WSFC) с SQL Server
Failover Policy for Failover Cluster Instances
sp_server_diagnostics (Transact-SQL)