Настройка гибкой политики автоматического перехода на другой ресурс для группы доступности Always OnConfigure a flexible automatic failover policy for an Always On availability group

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Гибкая политика отработки отказа предоставляет гранулярное управление условиями, которые могут вызвать автоматический переход на другой ресурс для группы доступности.A flexible failover policy provides granular control over the conditions that cause automatic failover for an availability group. Изменяя условия отказа, которые инициируют автоматический переход на другой ресурс, и частоту проверки исправности, вы можете увеличить или уменьшить вероятность автоматического перехода на другой ресурс и добиться высокого уровня доступности соглашения об уровне обслуживания.By changing the failure conditions that trigger an automatic failover and the frequency of health checks, you can increase or decrease the likelihood of an automatic failover to support your SLA for high availability.

Гибкая политика отработки отказа группы доступности определяется уровнем условий сбоя и пороговым значением времени ожидания проверки работоспособности.The flexible failover policy of an availability group is defined by its failure-condition level and health-check timeout threshold. При обнаружении, что группа доступности превысила уровень условий сбоя или пороговое значение проверки времени ожидания работоспособности, DLL-ресурс группы доступности ответит WSFC-кластеру.On detecting that an availability group has exceeded its failure condition level or its health-check timeout threshold, the availability group's resource DLL responds back to the Windows Server Failover Clustering (WSFC) cluster. После этого WSFC-кластер инициирует автоматический переход на вторичную реплику.The WSFC cluster then initiates an automatic failover to the secondary replica.

Важно!

Если в группе доступности превышен порог сбоя WSFC, то кластер WSFC не выполняет автоматический переход на другой ресурс для этой группы доступности.If an availability group exceeds its WSFC failure threshold, the WSFC cluster will not attempt an automatic failover for the availability group. Более того, группа ресурсов WSFC для группы доступности остается в состоянии сбоя, пока администратор кластера вручную не переведет сбойную группу ресурсов в режим «в сети» или пока администратор базы данных вручную не выполнит переход группы доступности на другой ресурс.Furthermore, the WSFC resource group of the availability group remains in a failed state until either the cluster administrator manually brings the failed resource group online or the database administrator performs a manual failover of the availability group. Порог сбоя WSFC определяется как максимальное число сбоев, которые могут произойти в группе доступности за заданный период времени.The WSFC failure threshold is defined as the maximum number of failures supported for the availability group during a given time period. По умолчанию используется период в шесть часов, а максимальное число сбоев за этот период по умолчанию равно n-1, где n — число узлов WSFC.The default time period is six hours, and the default value for the maximum number of failures during this period is n-1, where n is the number of WSFC nodes. Чтобы изменить пороговые значения сбоя для заданной группы доступности, используйте консоль диспетчера отработки отказа WSFC.To change the failure-threshold values for a given availability group, use the WSFC Failover Manager Console.

Этот раздел состоит из следующих подразделов.This topic contains the following sections:

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

Библиотека ресурсов группы доступности в WSFC-кластере выполняет проверку исправности первичной реплики путем вызова хранимой процедуры sp_server_diagnostics для экземпляра SQL Server, на котором располагается первичная реплика.WSFC resource DLL of the availability group performs a health check of the primary replica by calling the sp_server_diagnostics stored procedure on the instance of SQL Server that hosts the primary replica. sp_server_diagnostics возвращает результаты с интервалом, равным 1/3 порогового значения времени ожидания при проверке работоспособности для группы доступности.sp_server_diagnostics returns results at an interval that equals 1/3 of the health-check timeout threshold for the availability group. Пороговое значение времени ожидания при проверке работоспособности по умолчанию составляет 30 секунд, то есть sp_server_diagnostics возвращает сведения с интервалом в 10 секунд.The default health-check timeout threshold is 30 seconds, which causes sp_server_diagnostics to return at a 10-second interval. Если sp_server_diagnostics работает медленно или не возвращает сведения, библиотека ресурсов ожидает, пока истечет полный интервал для описанного порогового значения, и только затем определяет, что первичная реплика не отвечает.If sp_server_diagnostics is slow or is not returning information, the resource DLL will wait for the full interval of the health-check timeout threshold before determining that the primary replica is unresponsive. Если первичная реплика не отвечает, инициируется автоматический переход на другой ресурс, если она поддерживается.If the primary replica is unresponsive, an automatic failover is initiated, if currently supported.

Важно!

sp_server_diagnostics не выполняет проверку работоспособности на уровне базы данных.sp_server_diagnostics does not perform health checks at the database level.

Уровень условий сбояFailure-Condition Level

Уровень условий сбоя для группы доступности определяет, обеспечат ли диагностические данные и сведения о работоспособности, возвращенные командой sp_server_diagnostics , автоматический переход на другой ресурс.Whether the diagnostic data and health information returned by sp_server_diagnostics warrants an automatic failover depends on the failure-condition level of the availability group. Уровень условия сбоя определяет, какие условия сбоя инициируют автоматический переход на другой ресурс.The failure-condition level specifies what failure conditions trigger an automatic failover. Существует пять уровней условий сбоя, которые варьируются от наименее ограничительного (уровень 1) до наиболее ограничительного (уровень 5).There are five failure-condition levels, which range from the least restrictive (level one) to the most restrictive (level five). Заданный уровень включает в себя ограничения всех предыдущих уровней.A given level encompasses the less restrictive levels. Таким образом, наиболее строгий уровень 5 включает в себя менее строгие уровни ограничений с 1 по 4 и т. д.Thus, the strictest level, five, includes the four less restrictive conditions, and so forth.

Важно!

Ни на одном из уровней условий сбоя не обнаружено поврежденных и подозрительных баз данных.Damaged databases and suspect databases are not detected by any failure-condition level. Следовательно, поврежденная или подозрительная база данных (из-за ошибки оборудования, повреждения данных или по другой причине) никогда не вызывает автоматического перехода на другой ресурс.Therefore, a database that is damaged or suspect (whether due to a hardware failure, data corruption, or other issue) never triggers an automatic failover.

В следующей таблице описываются условия сбоя, которые соответствуют каждому уровню.The following table describes the failure-conditions that corresponds to each level.

LevelLevel Условия сбояFailure Condition Transact-SQLTransact-SQL ЗначениеValue Значение PowerShellPowerShell Value
ОдинOne При остановке работы сервера.On server down. Указывает, что автоматический переход на другой ресурс инициируется при возникновении одной из следующих ситуаций:Specifies that an automatic failover is initiated when one the following occurs:

Служба SQL ServerSQL Server остановлена.The SQL ServerSQL Server service is down.

Аренда группы доступности для подключения к кластеру WSFC истекла, поскольку от экземпляра сервера не было получено сообщение ACK.The lease of the availability group for connecting to the WSFC cluster expires because no ACK is received from the server instance. Дополнительные сведения см. в разделе Как это работает: время ожидания аренды Always On в SQL Server.For more information, see How It Works: SQL Server Always On Lease Timeout.



Это наименее ограничительный уровень.This is the least restrictive level.
11 OnServerDownOnServerDown
ДваTwo При отсутствии ответа от сервера.On server unresponsive. Указывает, что автоматический переход на другой ресурс инициируется при возникновении одной из следующих ситуаций:Specifies that an automatic failover is initiated when one of the following occurs:

Экземпляр SQL ServerSQL Server не подключается к кластеру, а определяемый пользователем порог времени ожидания проверки исправности для группы доступности превышен.The instance of SQL ServerSQL Server does not connect to cluster, and the user-specified health check timeout threshold of the availability group is exceeded.

Реплика доступности находится в неисправном состоянии.The availability replica is in failed state.
22 OnServerUnresponsiveOnServerUnresponsive
ТриThree В случае критической ошибки сервера.On critical server error. Указывает, что автоматический переход на другой ресурс инициируется в случае появления критических внутренних ошибок SQL ServerSQL Server , таких как потерянные спин-блокировки, серьезные нарушения доступа для записи или формирование слишком больших дампов.Specifies that an automatic failover is initiated on critical SQL ServerSQL Server internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.

Это уровень, заданный по умолчанию.This is the default level.
33 OnCriticalServerErrorOnCriticalServerError
ЧетыреFour В случае ошибки сервера средней значимости.On moderate server error. Указывает, что автоматический переход на другой ресурс инициируется в случае появления умеренных внутренних ошибок SQL ServerSQL Server , например устойчивое состояние нехватки памяти в пуле внутренних ресурсов SQL ServerSQL Server .Specifies that an automatic failover is initiated on moderate SQL ServerSQL Server internal errors, such as a persistent out-of-memory condition in the SQL ServerSQL Server internal resource pool. 44 OnModerateServerErrorOnModerateServerError
ПятьFive При любых подходящих условиях сбоя.On any qualified failure conditions. Указывает, что автоматический переход на другой ресурс инициируется при любом удовлетворяющем условиям состоянии сбоя, включая:Specifies that an automatic failover is initiated on any qualified failure conditions, including:

Обнаружение взаимоблокировки планировщика.Detection of Scheduler deadlock.

Обнаружение неразрешимой взаимоблокировки.Detection of an unsolvable deadlock.



Это наиболее ограничительный уровень.This is the most restrictive level.
55 OnAnyQualifiedFailureConditionsOnAnyQualifiedFailureConditions

Примечание

Отсутствие ответа экземпляра SQL ServerSQL Server на клиентские запросы не является существенным для групп доступности.Lack of response by an instance of SQL ServerSQL Server to client requests is irrelevant to availability groups.

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

Настройка автоматического перехода на другой ресурсTo configure automatic failover

См. такжеRelated Content

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Режимы доступности (группы доступности AlwaysOn) Availability Modes (Always On Availability Groups)
Отработка отказа и режимы отработки отказа (группы доступности AlwaysOn) Failover and Failover Modes (Always On Availability Groups)
Отказоустойчивая кластеризация Windows Server (WSFC) с SQL Server Windows Server Failover Clustering (WSFC) with SQL Server
Политика отработки отказа для экземпляров откзоустойчивого кластера Failover Policy for Failover Cluster Instances
sp_server_diagnostics (Transact-SQL)sp_server_diagnostics (Transact-SQL)