Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Изменяет существующую группу доступности Always On в SQL Server. Большинство ALTER AVAILABILITY GROUP аргументов поддерживаются только в текущей первичной реплике.
JOIN
FAILOVERОднако аргументы и FORCE_FAILOVER_ALLOW_DATA_LOSS аргументы поддерживаются только во вторичных репликах.
Соглашения о синтаксисе Transact-SQL
Синтаксис
ALTER AVAILABILITY GROUP group_name
{
SET ( <set_option_spec> )
| ADD DATABASE database_name
| REMOVE DATABASE database_name
| ADD REPLICA ON <add_replica_spec>
| MODIFY REPLICA ON <modify_replica_spec>
| REMOVE REPLICA ON <server_instance>
| JOIN
| JOIN AVAILABILITY GROUP ON <add_availability_group_spec> [ , ...2 ]
| MODIFY AVAILABILITY GROUP ON <modify_availability_group_spec> [ , ...2 ]
| GRANT CREATE ANY DATABASE
| DENY CREATE ANY DATABASE
| FAILOVER
| FORCE_FAILOVER_ALLOW_DATA_LOSS
| ADD LISTENER 'dns_name' ( <add_listener_option> )
| MODIFY LISTENER 'dns_name' ( <modify_listener_option> )
| RESTART LISTENER 'dns_name'
| REMOVE LISTENER 'dns_name'
| OFFLINE
}
[ ; ]
<set_option_spec> ::=
AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY | SECONDARY | NONE }
| FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
| HEALTH_CHECK_TIMEOUT = milliseconds
| DB_FAILOVER = { ON | OFF }
| DTC_SUPPORT = { PER_DB | NONE }
| REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
| ROLE = SECONDARY
| CLUSTER_CONNECTION_OPTIONS = 'key_value_pairs> [ ;... ] '
<server_instance> ::=
{ 'system_name [ \instance_name ] ' | 'FCI_network_name [ \instance_name ] ' }
<add_replica_spec>::=
<server_instance> WITH
(
ENDPOINT_URL = 'TCP://system-address:port' ,
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY } ,
FAILOVER_MODE = { AUTOMATIC | MANUAL }
[ , <add_replica_option> [ , ...n ] ]
)
<add_replica_option>::=
SEEDING_MODE = { AUTOMATIC | MANUAL }
| BACKUP_PRIORITY = n
| SECONDARY_ROLE ( {
[ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]
[ , ] [ READ_ONLY_ROUTING_URL = 'TCP://system-address:port' ]
} )
| PRIMARY_ROLE ( {
[ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]
[ , ] [ READ_ONLY_ROUTING_LIST = { ( '<server_instance>' [ , ...n ] ) | NONE } ]
[ , ] [ READ_WRITE_ROUTING_URL = 'TCP://system-address:port' ]
} )
| SESSION_TIMEOUT = integer
<modify_replica_spec>::=
<server_instance> WITH
(
ENDPOINT_URL = 'TCP://system-address:port'
| AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }
| FAILOVER_MODE = { AUTOMATIC | MANUAL }
| SEEDING_MODE = { AUTOMATIC | MANUAL }
| BACKUP_PRIORITY = n
| SECONDARY_ROLE ( {
[ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]
| [ READ_ONLY_ROUTING_URL = { 'TCP://system-address:port' | NONE } ]
} )
| PRIMARY_ROLE ( {
[ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]
| [ READ_ONLY_ROUTING_LIST = { ( '<server_instance>' [ , ...n ] ) | NONE } ]
| [ READ_WRITE_ROUTING_URL = { 'TCP://system-address:port' | NONE } ]
} )
| SESSION_TIMEOUT = seconds
)
<add_availability_group_spec>::=
<ag_name> WITH
(
LISTENER_URL = 'TCP://system-address:port' ,
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT } ,
FAILOVER_MODE = MANUAL ,
SEEDING_MODE = { AUTOMATIC | MANUAL }
)
<modify_availability_group_spec>::=
<ag_name> WITH
(
LISTENER = 'TCP://system-address:port'
| AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT }
| SEEDING_MODE = { AUTOMATIC | MANUAL }
)
<add_listener_option> ::=
{
WITH DHCP [ ON ( <network_subnet_option> ) ]
| WITH IP ( { ( <ip_address_option> ) } [ , ...n ] ) [ , PORT = listener_port ]
}
<network_subnet_option> ::=
'ipv4_address' , 'ipv4_mask'
<ip_address_option> ::=
{
'four_part_ipv4_address' , 'four_part_ipv4_mask'
| 'ipv6_address'
}
<modify_listener_option>::=
{
ADD IP ( <ip_address_option> )
| PORT = listener_port
| REMOVE IP ( 'ipv4_address' | 'ipv6_address')
}
Аргументы
group_name
Указывает имя новой группы доступности. group_name должен быть допустимым идентификатором SQL Server и являться уникальным во всех группах доступности в кластере WSFC.
AUTOMATED_BACKUP_PREFERENCE = { ОСНОВНОЙ | SECONDARY_ONLY| ВТОРИЧНАЯ | НЕТ }
Указывает предпочтения о том, как задание резервного копирования оценивает основную реплику при выборе места выполнения резервного копирования. Вы можете написать скрипт для того, чтобы задание резервного копирования учитывало приоритет автоматического резервного копирования. Важно понимать, что предпочтение не поддерживается SQL Server, поэтому это не влияет на резервные копии по запросу.
Поддерживается только в первичной реплике.
Возможны следующие значения.
ОСНОВНОЙ
Указывает, что резервные копии всегда выполняются на первичной реплике. Этот параметр полезен, если вам нужны функции резервного копирования, такие как создание разностных резервных копий, которые не поддерживаются при выполнении резервного копирования на вторичной реплике.
Внимание
Если вы планируете использовать доставку журналов для подготовки всех баз данных-получателей для группы доступности, задайте параметр Primary автоматического резервного копирования до тех пор, пока все базы данных-получатели не будут подготовлены и присоединены к группе доступности.
SECONDARY_ONLY
Указывает, что резервные копии никогда не происходят на первичной реплике. Если основная реплика является единственной репликой в сети, резервное копирование не происходит.
ВТОРИЧНЫЙ
Указывает, что резервные копии происходят на вторичной реплике, за исключением случаев, когда основная реплика является единственной репликой в сети. В этом случае резервное копирование происходит на первичной реплике. Это поведение принимается по умолчанию.
НИКАКОЙ
Указывает, что вы предпочитаете, чтобы задания резервного копирования пропускали реплики доступности при выборе реплики для создания резервных копий. Примечание. Задания резервного копирования могут учитывать другие факторы, например приоритет резервного копирования каждой реплики доступности в сочетании с ее состоянием работоспособности и соединения.
Внимание
Не существует принудительного AUTOMATED_BACKUP_PREFERENCE применения параметра. Интерпретация этого предпочтения зависит от логики, если она есть, скрипта в задания резервного копирования для баз данных в определенной группе доступности. Параметр автоматического резервного копирования не влияет на нерегламентированные резервные копии. Дополнительные сведения см. в разделе "Настройка резервных копий для вторичных реплик группы доступности AlwaysOn".
Примечание.
Чтобы просмотреть предпочтения автоматического резервного копирования существующей группы доступности, выберите automated_backup_preference или automated_backup_preference_desc столбец представления каталога sys.availability_groups . Кроме того, sys.fn_hadr_backup_is_preferred_replica можно использовать для определения предпочтительной реплики резервного копирования. Эта функция всегда возвращается 1 по крайней мере для одной из реплик, даже если AUTOMATED_BACKUP_PREFERENCE = NONE.
FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
Указывает, какие условия сбоя могут запустить автоматический переход на другой ресурс в этой группе доступности.
FAILURE_CONDITION_LEVEL устанавливается на уровне группы, но относится только к репликам доступности, настроенным для режима доступности синхронной фиксации (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT). Кроме того, условия сбоя могут активировать автоматическую отработку отказа только в том случае, если первичные и вторичные реплики настроены для автоматического режима отработки отказа (FAILOVER_MODE = AUTOMATIC), а в настоящее время вторичная реплика синхронизирована с первичной репликой.
Поддерживается только в первичной реплике.
Уровни условий сбоя (1–5) варьируются от наименее ограничительного уровня 1 до наиболее ограничительного уровня 5. Заданный уровень условий включает в себя ограничения всех предыдущих уровней. Таким образом, наиболее строгий уровень 5 включает в себя ограничения уровней с 1 по 4, уровень 4 содержит ограничения уровней с 1 по 3 и т. д. В следующей таблице описано условие сбоя, соответствующее каждому уровню.
| Уровень | Условия сбоя |
|---|---|
| 1 | Указывает, что автоматическая отработка отказа инициируется при возникновении любого из следующих действий: Служба SQL Server отключена. Срок действия аренды группы доступности для подключения к кластеру WSFC истекает, так как от экземпляра сервера не ACK получено. Дополнительные сведения см. в разделе Принцип работы. Время ожидания аренды AlwaysOn в SQL Server. |
| 2 | Указывает, что автоматическая отработка отказа инициируется при возникновении любого из следующих действий: Экземпляр SQL Server не подключается к кластеру, и превышено заданное HEALTH_CHECK_TIMEOUT пользователем пороговое значение группы доступности.Реплика доступности находится в неисправном состоянии. |
| 3 | Указывает, что автоматическая отработка отказа инициируется при критических внутренних ошибках SQL Server, таких как потерянные спинблоки, серьезные нарушения доступа к записи или слишком много дампа. Это поведение принимается по умолчанию. |
| 4 | Указывает, что автоматическая отработка отказа инициируется при умеренных внутренних ошибках SQL Server, таких как постоянное состояние вне памяти в внутреннем пуле ресурсов SQL Server. |
| 5 | Указывает, что автоматическая отработка отказа инициируется для любых квалифицированных условий сбоя, в том числе: Исчерпание рабочих потоков SQL Engine. Обнаружение неразрешимой взаимоблокировки. |
Примечание.
Отсутствие ответа экземпляром SQL Server на клиентские запросы не относится к группам доступности.
HEALTH_CHECK_TIMEOUT И FAILURE_CONDITION_LEVEL значения определяют гибкую политику отработки отказа для определенной группы. Данная гибкая политика отработки отказа предоставляет гранулярное управление условиями, которые могут вызвать автоматический переход на другой ресурс. Дополнительные сведения см. в разделе "Настройка гибкой политики автоматической отработки отказа" для группы доступности AlwaysOn.
HEALTH_CHECK_TIMEOUT
=
Миллисекунд
Указывает время ожидания (в миллисекундах) для sp_server_diagnostics системной хранимой процедуры для возврата сведений о работоспособности сервера перед кластером WSFC предполагает, что экземпляр сервера медленно или не отвечает. Установите HEALTH_CHECK_TIMEOUT на уровне группы, но оно относится только к репликам доступности, настроенным для режима доступности синхронной фиксации с автоматической отработкой отказа (AVAILABILITY_MODE = SYNCHRONOUS_COMMIT). Кроме того, время ожидания проверки работоспособности может активировать автоматическую отработку отказа только в том случае, если основной и вторичный реплики настроены для автоматического режима отработки отказа (FAILOVER_MODE = AUTOMATIC), а в настоящее время вторичная реплика синхронизирована с первичной репликой.
Значение по умолчанию HEALTH_CHECK_TIMEOUT — 30 000 миллисекунд (30 секунд). Минимальное значение составляет 15 000 миллисекунд (15 секунд), а максимальное значение — 4 294 967 295 миллисекунд.
Поддерживается только в первичной реплике.
Внимание
sp_server_diagnostics не выполняет проверки работоспособности на уровне базы данных.
DB_FAILOVER = { ВКЛ | ВЫКЛ }
Задает реакцию в случае, когда база данных в первичной реплике находится в автономном режиме. Если задано значение ON, любое состояние, отличное от ONLINE базы данных в группе доступности, активирует автоматическую отработку отказа. При установке этого параметра OFFтолько работоспособность экземпляра активирует автоматическую отработку отказа.
Дополнительные сведения об этом параметре см. в разделе "Обнаружение работоспособности уровня базы данных группы доступности".
DTC_SUPPORT = { PER_DB | НЕТ }
Указывает, включены ли распределенные транзакции для этой группы доступности. Распределенные транзакции поддерживаются для баз данных группы доступности только начиная с версии SQL Server 2016 (13.x), а транзакции между базами данных — начиная с версии SQL Server 2016 (13.x) с пакетом обновления SP2.
PER_DB создает группу доступности с поддержкой этих транзакций и автоматически продвигает транзакции между базами данных, включающими базы данных в группу доступности, в распределенные транзакции.
NONE предотвращает автоматическое продвижение транзакций между базами данных в распределенные транзакции и не регистрирует базу данных с стабильным RMID в DTC. Распределенные транзакции не предотвращаются при использовании параметра NONE, но отработка отказа базы данных и автоматическое восстановление могут завершиться не в некоторых обстоятельствах. Дополнительные сведения см. в разделе "Транзакции — группы доступности" и зеркальное отображение базы данных.
Примечание.
Поддержка изменения DTC_SUPPORT параметра группы доступности появилась в SQL Server 2016 (13.x) с пакетом обновления 2 (SP2). Этот параметр нельзя использовать с более ранними версиями. Чтобы изменить этот параметр в более ранних версиях SQL Server, необходимо DROP снова и CREATE группу доступности.
Внимание
DTC имеет ограничение в 32 перечисления на распределенную транзакцию. Так как каждая база данных в группе доступности включается в DTC отдельно, если транзакция включает более 32 баз данных, вы можете получить следующую ошибку при попытке SQL Server заручиться 33-й базой данных:
Enlist operation failed: 0x8004d101(XACT_E_TOOMANY_ENLISTMENTS). SQL Server could not register with Microsoft Distributed Transaction Coordinator (MS DTC) as a resource manager for this transaction. The transaction may have been stopped by the client or the resource manager.
Дополнительные сведения о распределенных транзакциях в SQL Server см. в разделе "Распределенные транзакции".
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
Представлено в SQL Server 2017 (14.x). Задает минимальное количество синхронных вторичных реплик, необходимых для фиксации, прежде чем первичная реплика фиксирует транзакцию. Гарантирует, что транзакции SQL Server ожидают обновления журналов транзакций по минимальному количеству вторичных реплик.
- По умолчанию: 0. Обеспечивает то же поведение, что и SQL Server 2016 (13.x).
- Минимум: 0.
- Максимальное число реплик минус 1.
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT относится к репликам в синхронном режиме фиксации. Когда реплики находятся в синхронном режиме фиксации, записывается в основной реплике ожидание, пока запись в синхронные реплики фиксируются в журнале транзакций базы данных реплики. Если SQL Server, на котором размещена вторичная синхронная реплика, перестает отвечать, SQL Server, на котором размещена первичная реплика, помечает, как NOT SYNCHRONIZED и продолжается вторичная реплика. Когда неответственная база данных возвращается в режим "не синхронизирована" и реплика помечается как неработоспособная, пока основной источник не сможет синхронизировать его снова. Этот параметр гарантирует, что первичная реплика не продолжается до минимального количества реплик, зафиксированных каждой транзакции. Если минимальное количество реплик недоступно, фиксация выполняется в основном сбое. В кластере типа EXTERNAL этот параметр меняется при добавлении группы доступности в кластерный ресурс. См. Высокий уровень доступности и защита данных для конфигураций группы доступности.
Начиная с SQL Server 2022 (16.x), можно установить REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT в распределенной группе доступности. Этот параметр не поддерживается для CREATE AVAILABILITY GROUP. Можно использовать ALTER AVAILABILITY GROUP для задания REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT. Например:
ALTER AVAILABILITY GROUP [<name>]
SET (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = <integer>);
РОЛЬ
Единственным допустимым параметром является SECONDARY, и этот SET параметр действителен только в распределенных группах доступности. Используйте его для отработки отказа распределенной группы доступности.
CLUSTER_CONNECTION_OPTIONS
Применимо к: SQL Server 2025 (17.x) и более поздним версиям
CLUSTER_CONNECTION_OPTIONS Используйте предложение для принудительного шифрования TLS 1.3 для обмена данными между отказоустойчивой кластером Windows Server и репликами группы доступности. Укажите параметры в виде списка пар "ключ-значение", разделенных точкой с запятой. Используйте пары "ключ-значение", чтобы настроить шифрование строки подключения для группы доступности.
Чтобы вернуться к шифрованию по умолчанию, задайте CLUSTER_CONNECTION_OPTIONS предложение пустой строкой. SQL Server 2025 (17.x) по умолчанию установлен Encrypt=Mandatoryна , и TrustServerCertificate=Yes для подключения к репликам групп доступности и слушателям.
Дополнительные сведения см. в статье о подключении к группе доступности с строгим шифрованием и TDS 8.0.
В следующей таблице описываются пары "ключ-значение", которые можно использовать в предложении CLUSTER_CONNECTION_OPTIONS :
| Key | Поддерживаемые значения | Description |
|---|---|---|
Encrypt |
Mandatory
Strict
Optional
|
Указывает, как применяется шифрование для группы доступности. Если сервер не поддерживает шифрование, подключение завершается ошибкой. Если задано значение шифрования Mandatory, TrustServerCertificate необходимо задать значение "Да". Если задано значение шифрования Strict, TrustServerCertificate то игнорируется.Примечание. Эта пара значений ключа является обязательной. |
HostNameInCertificate |
Имя реплики или прослушиватель группы доступности | Указывает имя реплики или имя прослушивателя группы доступности в сертификате, используемом для шифрования. Это значение должно соответствовать значению в альтернативном имени субъекта сертификата. Если имя сервера указано в сертификате, можно опустить HostNameInCertificate пару "ключ-значение". Если имя сервера не указано в сертификате, необходимо указать HostNameInCertificate пару "ключ-значение" с именем сервера.Примечание. Эта пара значений ключа является необязательной. |
TrustServerCertificate |
Yes, No |
Установите для yes указания того, что драйвер не проверяет сертификат TLS/SSL сервера. Если noдрайвер проверяет сертификат. Дополнительные сведения см. в статье TDS 8.0.Примечание. Эта пара значений ключа является необязательной. |
ServerCertificate |
Путь к сертификату | Если вы не хотите использовать HostNameInCertificate, вы можете передать путь к сертификату. Учетная запись службы кластера должна иметь разрешение на чтение сертификата из заданного расположения.Примечание. Эта пара значений ключа является необязательной. |
CLUSTER_CONNECTION_OPTIONS |
Пустая строка ('') |
Очищает существующую конфигурацию и возвращает параметры Encrypt=Mandatory шифрования по умолчанию и TrustServerCertificate=Yes. |
Проверьте примеры, чтобы узнать, как использовать CLUSTER_CONNECTION_OPTIONS предложение.
ДОБАВЛЕНИЕ database_name БАЗЫ ДАННЫХ
Задает список из одной или нескольких пользовательских баз данных, которые нужно добавить в группу доступности. Эти базы данных должны размещаться в экземпляре SQL Server, где размещается текущая первичная реплика. Можно указать несколько баз данных для группы доступности, но каждая база данных может принадлежать только к одной группе доступности. Сведения о типе баз данных, которые может поддерживать группа доступности, см. в разделах Предварительные требования, ограничения и рекомендации для групп доступности AlwaysOn. Чтобы узнать, какие локальные базы данных уже принадлежат группе доступности, см replica_id . столбец в представлении каталога sys.database .
Поддерживается только в первичной реплике.
Примечание.
После создания группы доступности необходимо подключиться к каждому экземпляру сервера, на котором размещена вторичная реплика. Затем подготовьте каждую базу данных-получатель и присоедините ее к группе доступности. Дополнительные сведения см. в статье Запуск перемещения данных для базы данных-получателя Always On (SQL Server).
УДАЛИТЬ database_name БАЗЫ ДАННЫХ
Удаляет указанную базу данных-источник и соответствующие базы данных-получатели из группы доступности. Поддерживается только в первичной реплике.
Сведения о рекомендуемых шагах после удаления базы данных доступности из группы доступности см. в разделе "Удаление базы данных-источника" из группы доступности AlwaysOn.
ДОБАВИТЬ РЕПЛИКУ НА
Указывает от одного до восьми экземпляров SQL Server для размещения вторичных реплик в группе доступности. Каждая реплика указывается адресом экземпляра сервера, за которым следует WITH (...) предложение.
Поддерживается только в первичной реплике.
Необходимо включить каждую новую вторичную реплику в группу доступности. Дополнительные сведения см. в описании JOIN параметра далее в этом разделе.
<server_instance>
Указывает адрес экземпляра SQL Server, который является узлом для реплики. Формат адреса зависит от того, является ли экземпляр по умолчанию или именованным экземпляром и является ли он автономным экземпляром или экземпляром отказоустойчивого кластера (FCI). Синтаксис выглядит следующим образом:
{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }
Этот адрес состоит из следующих компонентов:
системное_имя
NetBIOS-имя компьютерной системы, на которой находится целевой экземпляр SQL Server. Этот компьютер должен быть узлом кластера WSFC.
сетевое_имя_FCI
Сетевое имя, используемое для доступа к отказоустойчивой кластеру SQL Server. Используйте это имя, если экземпляр сервера участвует в качестве партнера по отработки отказа SQL Server.
SELECT @@SERVERNAME Выполнение на экземпляре сервера FCI возвращает всю строку "FCI_network_name[\instance_name]" (имя полной реплики).
Дополнительные сведения см. в @@SERVERNAME.
instance_name
Имя экземпляра SQL Server, который system_name или FCI_network_name узлах и включен AlwaysOn. Для экземпляра сервера по умолчанию указывать параметр имя_экземпляра не обязательно. В именах экземпляров не учитывается регистр символов. В автономном экземпляре сервера это имя значения совпадает со значением, возвращаемым выполнением SELECT @@SERVERNAME.
\
Разделитель используется только при указании instance_name, чтобы отделить его от system_name или FCI_network_name.
Сведения о предварительных требованиях для узлов WSFC и экземпляров сервера см. в разделе "Предварительные требования", "Ограничения" и рекомендации для групп доступности AlwaysOn.
ENDPOINT_URL = "*TCP:// system-address:*port"
Указывает путь URL-адреса для конечной точки зеркального отображения базы данных в экземпляре SQL Server, на котором размещена реплика доступности, которую вы добавляете или изменяете.
ENDPOINT_URL требуется в предложении ADD REPLICA ON и необязательно в предложении MODIFY REPLICA ON . Дополнительные сведения см. в разделе "Указание URL-адреса конечной точки— добавление или изменение реплики доступности".
"TCP:// system-address:port"
Задает URL-адрес для конечной точки или URL-адрес маршрутизации, доступный только для чтения. Параметры URL-адреса:
системный адрес
Строка, например системное имя, полное доменное имя или IP-адрес, однозначно идентифицирующая целевую компьютерную систему.
порт
Номер порта, связанный с конечной точкой зеркального отображения экземпляра сервера (для ENDPOINT_URL параметра) или номер порта, используемый ядром СУБД экземпляра сервера (для READ_ONLY_ROUTING_URL параметра).
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
Указывает, ожидает ли первичная реплика, чтобы вторичная реплика признала заверение (запись) записей журнала на диск, прежде чем первичная реплика может зафиксировать транзакцию в данной базе данных-источнике. Фиксация транзакций в других базах данных, расположенных в этой первичной реплике, может выполняться независимо.
SYNCHRONOUS_COMMIT
Указывает, что основная реплика ожидает фиксации транзакций, пока они не будут затверждаются на этой вторичной реплике (режим синхронной фиксации). Можно указать SYNCHRONOUS_COMMIT до трех реплик, включая первичную реплику.
ASYNCHRONOUS_COMMIT
Указывает, что первичная реплика фиксирует транзакции без ожидания записи журнала на данной вторичной реплике (режим доступности синхронной фиксации). Можно указать ASYNCHRONOUS_COMMIT до пяти реплик доступности, включая первичную реплику.
CONFIGURATION_ONLY
Указывает, что первичная реплика синхронно фиксирует метаданные конфигурации группы доступности в master базу данных в этой реплике. Реплика не содержит пользовательских данных. Этот параметр:
Может размещаться в любом выпуске SQL Server, включая экспресс-выпуск.
Требует, чтобы конечная точка
CONFIGURATION_ONLYзеркального отображения данных реплики была типомWITNESS.Невозможно изменить.
Недопустимо, если
CLUSTER_TYPE = WSFC.Дополнительные сведения см. в разделе "Высокий уровень доступности" и "Защита данных" для конфигураций групп доступности.
AVAILABILITY_MODE требуется в предложении ADD REPLICA ON и необязательно в предложении MODIFY REPLICA ON . Дополнительные сведения см. в разделе "Различия между режимами доступности" для группы доступности AlwaysOn.
FAILOVER_MODE = { АВТОМАТИЧЕСКИ | ИНСТРУКЦИЯ }
Указывает режим отработки отказа реплики доступности, которую вы определяете.
АВТОМАТИЧЕСКИ
Включает автоматический переход на другой ресурс.
AUTOMATIC поддерживается только при указании AVAILABILITY_MODE = SYNCHRONOUS_COMMIT. Можно указать AUTOMATIC для трех реплик доступности, включая первичную реплику.
Примечание.
- Перед SQL Server 2016 (13.x) можно ограничиться двумя автоматическими репликами отработки отказа, включая первичную реплику.
- Экземпляры отказоустойчивого кластера SQL Server (FCIs) не поддерживают автоматическое переключение доступности через группы, поэтому любая реплика доступности, размещенная на инстансе FCI, может быть настроена только для ручного переключения.
ВРУЧНУЮ
Позволяет администратору базы данных осуществлять переход на другой ресурс вручную или принудительно (принудительный переход на другой ресурс).
Необходимо указать FAILOVER_MODE в предложении ADD REPLICA ON . При необходимости его можно указать в предложении MODIFY REPLICA ON . Существует два типа отработки отказа вручную: отработка отказа вручную без потери данных и принудительной отработки отказа (с возможной потерей данных). Различные условия поддерживают эти типы. Дополнительные сведения см. в разделе Отработка отказа и режимы отработки отказа (группы доступности Always On).
SEEDING_MODE = { АВТОМАТИЧЕСКИ | ИНСТРУКЦИЯ }
Указывает, как вторичная реплика изначально заполняется данными.
АВТОМАТИЧЕСКИ
Включает прямое первоначальное заполнение. Этот метод заполняет вторичную реплику начальными значениями по сети. Этот метод не требует резервного копирования и восстановления копии базы данных-источника в реплике.
Примечание.
Для прямого заполнения необходимо разрешить создание базы данных на каждой вторичной реплике, вызвав ALTER AVAILABILITY GROUP параметр GRANT CREATE ANY DATABASE .
ВРУЧНУЮ
Указывает на присвоение начальных значений вручную (по умолчанию). В этом методе вы создаете резервную копию базы данных на первичной реплике и вручную восстанавливаете эту резервную копию на вторичной реплике.
BACKUP_PRIORITY = n
Указывает приоритет выполнения резервного копирования на данной реплике по отношению к другим репликам из той же группы доступности. Значение представляет собой целое число в диапазоне от 0 до 100. Данные величины имеют следующие значения:
1..100указывает, что реплика доступности может быть выбрана для выполнения резервных копий. 1 указывает минимальный приоритет, 100 — наивысший приоритет. ЕслиBACKUP_PRIORITY = 1для выполнения резервных копий выбрана реплика доступности, только если реплики доступности с более высоким приоритетом в настоящее время недоступны.0указывает, что эта реплика доступности никогда не выбирается для выполнения резервных копий. Этот параметр полезен, например, для удаленной реплики доступности, в которую никогда не требуется выполнять отработку отказа резервных копий.
Дополнительные сведения см. в разделе «Перенос поддерживаемых резервных копий на вторичные реплики группы доступности».
SECONDARY_ROLE ( ... )
Указывает параметры, зависящие от ролей, которые вступают в силу, если эта реплика доступности в настоящее время владеет вторичной ролью (всякий раз, когда это вторичная реплика). В скобках укажите один или два параметра вторичной роли. Если указываются оба параметра, используйте список с разделителями-запятыми.
Параметры вторичной роли:
ALLOW_CONNECTIONS = { НЕТ | READ_ONLY | ВСЕ }
Указывает, могут ли базы данных заданной реплики доступности, выполняющей вторичную роль (выступающую в качестве вторичной реплики), принимать подключения от клиентов, одно из следующих:
Нет
Для баз данных-получателей этой реплики соединения пользователя не разрешаются. Они недоступны для доступа на чтение. Это поведение принимается по умолчанию.
Только для чтения
Только подключения разрешены к базам данных в вторичной реплике, в которой задано ReadOnlyсвойство "Намерение приложения". Дополнительные сведения об этом свойстве см. в разделе Using Connection String Keywords with SQL Server Native Client.
ВСЕ
К базам данных во вторичной реплике разрешаются все соединения на доступ только для чтения.
Дополнительные сведения см. в разделе «Перенос рабочей нагрузки только для чтения на вторичную реплику группы доступности Always On».
READ_ONLY_ROUTING_URL = { '*TCP:// system-address:*port' | NONE }
Указывает URL-адрес, используемый для маршрутизации запросов на подключение с намерением чтения к этой реплике доступности. Этот URL-адрес находится в том месте, где ядро СУБД SQL Server прослушивает. Обычно экземпляр по умолчанию компонента ядра СУБД SQL Server прослушивает TCP-порт 1433.
Начиная с SQL Server 2025 (17.x), вы можете указать NONE в READ_ONLY_ROUTING_URL качестве назначения для отмены указанной только для чтения маршрутизации реплики доступности и направлять трафик в соответствии с поведением по умолчанию.
Для именованного экземпляра запросите port столбцы sys.dm_tcp_listener_states type_descдинамического административного представления, чтобы получить номер порта. Экземпляр сервера использует прослушиватель Transact-SQL (type_desc='TSQL').
Дополнительные сведения о вычислении URL-адреса маршрутизации только для чтения для реплики доступности см. в разделе Вычисление значения read_only_routing_url для AlwaysOn.
Примечание.
Для именованного экземпляра SQL Server настройте прослушиватель Transact-SQL для использования определенного порта. Дополнительные сведения см. в статье "Настройка SQL Server для прослушивания определенного TCP-порта".
PRIMARY_ROLE ( ... )
Указывает параметры, зависящие от ролей, которые вступают в силу, если эта реплика доступности в настоящее время владеет основной ролью (всякий раз, когда она является основной репликой). В скобках укажите один или два параметра первичной роли. Если указываются оба параметра, используйте список с разделителями-запятыми.
Параметры первичной роли:
ALLOW_CONNECTIONS = { READ_WRITE | ВСЕ }
Указывает тип подключения, который базы данных заданной реплики доступности, выполняющей основную роль (выступая в качестве первичной реплики), могут принимать от клиентов один из следующих вариантов:
Чтение и запись
Подключения, для которых задано ReadOnly свойство подключения "Намерение приложения", запрещено. Если для свойства "Намерение приложения" задано ReadWrite значение или свойство подключения "Намерение приложения" не задано, подключение разрешено. Дополнительные сведения о свойстве соединения «Назначение приложения» см. в разделе Using Connection String Keywords with SQL Server Native Client.
ВСЕ
Разрешаются все соединения с базами данных в первичной реплике. Это поведение принимается по умолчанию.
READ_ONLY_ROUTING_LIST = { ('<server_instance>' [ , ... n ] ) | NONE }
Задает список экземпляров сервера (с разделителями-запятыми), на которых будут размещаться реплики доступности для этой группы доступности, удовлетворяющие следующим требованиям при работе во вторичной роли.
Для разрешения всех подключений или подключений
SECONDARY_ROLEтолько для чтения (смALLOW_CONNECTIONS. аргумент параметра ранее в этой статье).У вас есть URL-адрес маршрутизации
SECONDARY_ROLEтолько для чтения (смREAD_ONLY_ROUTING_URL. аргумент параметра ранее в этой статье).
Значения READ_ONLY_ROUTING_LIST приведены следующим образом:
<server_instance>
Указывает адрес экземпляра SQL Server, который является узлом для реплики доступности, которая является доступной для чтения вторичной репликой при выполнении под вторичной ролью.
Используйте список с разделителями-запятыми, чтобы указать все экземпляры сервера, где может размещаться доступная для чтения вторичная реплика. При маршрутизации только для чтения будет учитываться порядок, в котором экземпляры сервера заданы в списке. Если включить экземпляр сервера, где размещается реплика, в список маршрутизации только для чтения, то обычно рекомендуется поместить этот экземпляр сервера в конец списка, чтобы подключения с намерением чтения направлялись на вторичную реплику, если она доступна.
Начиная с SQL Server 2016 (13.x), вы можете сбалансировать запросы на чтение и намерения для чтения во вторичных репликах. Для этого поместите реплики во вложенный набор с круглыми скобками в список маршрутизации только для чтения. Дополнительные сведения и примеры см. в разделе Настройка балансировки нагрузки между репликами только для чтения.
НИКАКОЙ
Указывает, что если эта реплика доступности является основной репликой, маршрутизация только для чтения не будет поддерживаться. Это поведение принимается по умолчанию. При использовании с MODIFY REPLICA ONэтим значением отключает существующий список, если таковой имеется.
{ READ_WRITE_ROUTING_URL = "*TCP:// system-address:*port" | NONE }
Область применения: SQL Server 2019 (15.x) и более поздних версий
Определяет экземпляры сервера, на которых размещаются реплики доступности для этой группы доступности в соответствии со следующими требованиями при выполнении в первичной роли.
- Спецификация
PRIMARY_ROLEреплики включаетREAD_WRITE_ROUTING_URL. - Строке подключения задается значение ReadWrite. Для этого параметру ApplicationIntent задается значение ReadWrite или не задается ничего, чтобы использовалось значение по умолчанию (ReadWrite).
Начиная с SQL Server 2025 (17.x), вы можете указать NONE в READ_WRITE_ROUTING_URL качестве назначения для отмены указанной маршрутизации чтения-записи для доступной реплики и направлять трафик в соответствии с поведением по умолчанию.
Дополнительные сведения см. в статье Перенаправление подключения с правами на чтение и запись с вторичной на первичную реплику (группы доступности AlwaysOn).
SESSION_TIMEOUT = секунды
Указывает интервал времени ожидания сеанса в секундах. Если этот параметр не указан, период времени по умолчанию составляет 10 секунд. Минимальное значение составляет 5 секунд.
Внимание
Сохраняйте период ожидания в течение 10 секунд или больше.
Дополнительные сведения о периоде ожидания сеанса см. в разделе "Что такое группа доступности AlwaysOn?"
ИЗМЕНИТЬ РЕПЛИКУ НА
Изменяет любую реплику группы доступности. Список реплик для изменения содержит адрес экземпляра сервера и предложение для каждой WITH (...) реплики.
Поддерживается только в первичной реплике.
УДАЛИТЬ РЕПЛИКУ НА
Удаляет указанную вторичную реплику из группы доступности. Вы не можете удалить текущую первичную реплику из группы доступности. При удалении реплики он перестает получать данные. Базы данных-получатели реплики удаляются из группы доступности и введите RESTORING состояние.
Поддерживается только в первичной реплике.
Примечание.
Если удалить реплику, пока она недоступна или не выполнена, когда она возвращается в интернет, она обнаруживает, что она больше не принадлежит группе доступности.
ПРИСОЕДИНИТЬСЯ
Приводит к созданию вторичной реплики локальным экземпляром сервера в указанной группе доступности.
Поддерживается только во вторичной реплике, которая еще не присоединена к группе доступности.
Дополнительные сведения см. в разделе "Присоединение вторичной реплики к группе доступности AlwaysOn".
ОТРАБОТКА ОТКАЗА
Инициирует отработку отказа вручную группы доступности без потери данных на вторичную реплику, к которой вы подключены. Реплика, на котором размещается первичная реплика, является целевым объектом отработки отказа. Целевой объект отработки отказа берет на себя основную роль и восстанавливает ее копию каждой базы данных, приведя их в режим "в сети" в качестве новых баз данных-источника. Бывшая первичная реплика параллельно переходит в роль вторичной, а ее базы данных становятся базами данных-получателями и немедленно приостанавливаются. Возможно, эти роли могут переключаться назад и вперед с помощью ряда сбоев.
Отработка отказа поддерживается только для вторичной реплики синхронной фиксации, которая в настоящее время синхронизирована с первичной репликой. Чтобы вторичная реплика была синхронизирована, первичная реплика также должна работать в режиме синхронной фиксации.
Для двух экземпляров SQL Server в группе доступности можно выполнить команду отработки отказа на первичной или вторичной реплике. Для экземпляров, реплицированных по ссылке Управляемого экземпляра, необходимо выполнить команду отработки отказа на первичной реплике.
Примечание.
- Для группы доступности команда отработки отказа возвращается, как только целевой объект отработки отказа принимает команду. Однако восстановление базы данных происходит асинхронно после завершения отработки отказа группы доступности.
- Для отработки отказа связи управляемого экземпляра команда отработки отказа возвращается после успешной отработки отказа, где роли источника и целевого коммутатора, или если команда отработки отказа завершается сбоем после завершения отработки отказа.
- Невозможно использовать команду отработки отказа для запланированной отработки отказа распределенной группы доступности между двумя экземплярами SQL Server.
Сведения об ограничениях, предварительных требованиях и рекомендациях по выполнению плановой отработки отказа вручную см. в разделе "Выполнение запланированной отработки отказа вручную" группы доступности AlwaysOn (SQL Server).
FORCE_FAILOVER_ALLOW_DATA_LOSS
Внимание
Запуск принудительной отработки отказа в качестве меры аварийного восстановления, так как это может привести к потере данных. Принудительное отработка отказа должно выполняться только в том случае, если первичная реплика недоступна, вы готовы принять потенциальную потерю данных, и необходимо немедленно восстановить службу в группе доступности.
Поддерживается только в реплике, роль которой находится в SECONDARY состоянии или RESOLVING состоянии. Реплика, в которой вы вводите команду отработки отказа, является целевым объектом отработки отказа.
Принудительная обработка отказа группы доступности с возможной потерей данных и переходом на другой указанный ресурс. Целевой объект отработки отказа берет на себя основную роль и восстанавливает ее копию каждой базы данных, приведя их в режим "в сети" в качестве новых баз данных-источника. Во всех оставшихся вторичных репликах все базы данных-получатели будут приостановлены до их возобновления вручную. Когда бывшая первичная реплика становится доступной, она переключается на вторичную роль, а ее базы данных становятся приостановленными базами данных-получателями.
Для экземпляров, реплицируемых по ссылке Управляемого экземпляра, необходимо выполнить FORCE_FAILOVER_ALLOW_DATA_LOSS команду на вторичной реплике (целевой объект отработки отказа).
Примечание.
Команда отработки отказа возвращается, как только целевой объект отработки отказа принимает команду. Однако восстановление базы данных происходит асинхронно после завершения отработки отказа группы доступности.
Сведения об ограничениях, предварительных требованиях и рекомендациях по принудительной отработке отказа и влиянию принудительной отработки отказа на бывших базах данных-источниках в группе доступности см. в статье "Выполнение принудительной отработки отказа группы доступности AlwaysOn" (SQL Server).
ADD LISTENER 'dns_name' ( <add_listener_option> )
Определяет новый прослушиватель группы доступности. Поддерживается только в первичной реплике.
Внимание
Перед созданием первого прослушивателя прочтите инструкцию "Настройка прослушивателя" для группы доступности AlwaysOn.
После создания прослушивателя для данной группы доступности выполните следующие действия:
- Попросите сетевого администратора зарезервировать IP-адрес, который будет использоваться только этим прослушивателем.
- Передайте имя узла DNS прослушивателя разработчикам приложения для использования в строке подключения при запросе клиентских соединений к данной группе доступности.
dns_name
Указывает имя узла DNS для прослушивателя группы доступности. Имя DNS прослушивателя должно быть уникальным в домене и в NetBIOS.
dns_name является строковым значением. Это имя может содержать только буквы, цифры, дефисы (-) и знаки подчеркивания (_) в любом порядке. В именах узлов DNS учитывается регистр. Максимальная длина равна 63 символам.
Укажите значимую строку. Например, для группы доступности с именем AG1понятным именем узла DNS будет ag1-listener.
Внимание
NetBIOS распознает только первые 15 символов в .dns_name Если у вас есть два кластера WSFC, управляемые одной и той же Active Directory, и вы пытаетесь создать прослушиватели групп доступности в обоих кластерах с именами с более чем 15 символами и идентичным 15-символьным префиксом, вы получите сообщение об ошибке, что ресурс имени виртуальной сети не может быть доставлен в режим "в сети". Дополнительные сведения о правилах именования префиксов для имен DNS см. в разделе Присвоение имен доменов.
ПРИСОЕДИНИТЬСЯ К ГРУППЕ ДОСТУПНОСТИ НА
Присоединение к распределенной группе доступности. При создании распределенной группы доступности группа доступности в кластере, где вы создаете ее, является основной группой доступности. Группа доступности, которая соединяется с распределенной группой доступности, является вторичной группой доступности.
<ag_name>
Указывает имя группы доступности, составляющей половину распределенной группы доступности.
LISTENER = "*TCP:// system-address:*port"
Указывает URL-адрес пути для прослушивателя, связанного с группой доступности.
Предложение LISTENER является обязательным.
'*TCP:// system-address:*port'
Указывает URL-адрес для прослушивателя, связанного с группой доступности. Параметры URL-адреса:
системный адрес
Строка, например системное имя, полное доменное имя или IP-адрес, однозначно идентифицирующая прослушиватель.
порт
Номер порта, связанный с конечной точкой зеркального отображения группы доступности. Это не порт прослушивателя.
РЕЖИМ_ДОСТУПНОСТИ = { СИНХРОННЫЙ_КОМИТ | АСИНХРОННЫЙ_КОМИТ }
Указывает, ожидает ли первичная реплика, чтобы вторичная группа доступности признала обеспечение (запись) записей журнала на диск, прежде чем первичная реплика может зафиксировать транзакцию в данной базе данных-источнике.
SYNCHRONOUS_COMMIT
Указывает, что основная реплика ожидает фиксации транзакций, пока она не получит подтверждение о том, что транзакции закрепляются в вторичной группе доступности. Можно указать SYNCHRONOUS_COMMIT до двух групп доступности, включая основную группу доступности.
ASYNCHRONOUS_COMMIT
Указывает, что первичная реплика фиксирует транзакции без ожидания записи журнала от вторичной группы доступности. Можно указать ASYNCHRONOUS_COMMIT до двух групп доступности, включая основную группу доступности.
Предложение AVAILABILITY_MODE является обязательным.
FAILOVER_MODE = { РУЧНАЯ }
Указывает режим отработки отказа распределенной группы доступности.
ВРУЧНУЮ
Позволяет администратору базы данных осуществлять переход на другой ресурс вручную по плану или принудительно (обычно это называется принудительным переходом на другой ресурс).
Автоматическая отработка отказа в вторичную группу доступности не поддерживается.
SEEDING_MODE = { АВТОМАТИЧЕСКИ | ИНСТРУКЦИЯ }
Указывает, как вторичная группа доступности изначально заполняется данными.
АВТОМАТИЧЕСКИ
Включает автоматическое заполнение. Этот метод будет заполнять вторичную группу доступности начальными значениями по сети. Этот метод не требует резервного копирования и восстановления копии базы данных-источника на репликах вторичной группы доступности.
ВРУЧНУЮ
Задает присвоение начальных значений вручную. Для этого метода необходимо создать резервную копию базы данных на первичной реплике и вручную восстановить резервную копию на репликах вторичной группы доступности.
ИЗМЕНЕНИЕ ГРУППЫ ДОСТУПНОСТИ НА
Изменяет любой параметр распределенной группы доступности. Список групп доступности для изменения содержит имя группы доступности и WITH (...) предложение для каждой группы доступности.
Внимание
Эту команду необходимо выполнить как в основной группе доступности, так и в дополнительных экземплярах группы доступности.
ПРЕДОСТАВИТЬ СОЗДАТЬ ЛЮБУЮ БАЗУ ДАННЫХ
Позволяет группе доступности создавать базы данных от имени первичной реплики, которая поддерживает прямое начальное значение (SEEDING_MODE = AUTOMATIC). Запустите этот параметр на каждой вторичной реплике, поддерживающей прямое заполнения после того, как вторичная группа доступности присоединяется. Требуется разрешение CREATE ANY DATABASE.
ЗАПРЕТИТЬ: СОЗДАТЬ ЛЮБУЮ БАЗУ ДАННЫХ
Удаляет возможность группы доступности создавать базы данных от имени первичной реплики.
<add_listener_option>
ADD LISTENER принимает один из следующих вариантов:
С DHCP [ ON { ('four_part_ipv4_address','four_part_ipv4_mask') } ]
Указывает, что прослушиватель группы доступности использует протокол DHCP. При необходимости используйте ON предложение для идентификации сети, в которой создается прослушиватель. DHCP ограничен одной подсетью, которая используется для каждого экземпляра сервера, на котором размещена реплика доступности в группе доступности.
Внимание
Не используйте DHCP в рабочей среде. Если истекает время простоя, а срок аренды DHCP-IP-адреса истекает, требуется дополнительное время для регистрации нового IP-адреса сети DHCP, связанного с DNS-именем прослушивателя, и влияет на подключение клиента. Однако протокол DHCP полезен при настройке среды разработки и проверки и позволяет проверить базовые функции групп доступности и их интеграцию с приложениями.
Например:
WITH DHCP ON ('10.120.19.0','255.255.254.0')
WITH IP ( { ('four_part_ipv4_address','four_part_ipv4_mask') | ('ipv6_address') } [ , ... n ] [ , PORT = listener_port ]
Вместо использования DHCP прослушиватель группы доступности использует один или несколько статических IP-адресов. Чтобы создать группу доступности, охватывающую несколько подсетей, в конфигурации прослушивателя должен присутствовать один статический IP-адрес для каждой подсети. Для конкретной подсети статический IP-адрес может иметь формат IPv4 или IPv6. Обратитесь к администратору сети, чтобы получить статический IP-адрес для каждой подсети, на котором размещена реплика доступности для новой группы доступности.
Например:
WITH IP ( ('10.120.19.155','255.255.254.0') )
ipv4_address
Четырехкомпонентный адрес IPv4 для прослушивателя группы доступности. Например, 10.120.19.155.
ipv4_mask
Маска IPv4 с четырьмя частью для прослушивателя группы доступности. Например, 255.255.254.0.
ipv6_address
IPv6-адрес прослушивателя группы доступности. Например, 2001::4898:23:1002:20f:1fff:feff:b3a3.
ПОРТ = listener_port
Номер порта (listener_port), используемый прослушивателем группы доступности, WITH IP который указывает предложение.
PORT является необязательным.
Поддерживается номер 1433порта по умолчанию. Однако можно выбрать другой номер порта.
Например: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777
ИЗМЕНЕНИЕ ПРОСЛУШИВАТЕЛЯ "dns_name" ( <modify_listener_option> )
Изменяет существующий прослушиватель для данной группы доступности. Поддерживается только в первичной реплике.
<modify_listener_option>
MODIFY LISTENER принимает один из следующих вариантов:
ADD IP { ('four_part_ipv4_address','four_part_ipv4_mask') | ('ipv6_address') }
Добавляет указанный IP-адрес к прослушивателю группы доступности, который задан с помощью dns_name.
ПОРТ = listener_port
См. описание этого аргумента ранее в этом разделе.
УДАЛИТЬ IP { ('four_part_ipv4_address') | ('ipv6_address') }
Применимо к: SQL Server 2025 (17.x) и более поздним версиям
Удаляет указанный IP-адрес из указанного прослушивателя группы доступности.
ПЕРЕЗАПУСК ПРОСЛУШИВАТЕЛЯ "DNS_NAME"
Перезапуск прослушивателя, связанного с указанным DNS-именем. Поддерживается только в первичной реплике.
REMOVE ПРОСЛУШИВАТЕЛЬ "DNS_NAME"
Удаляет прослушиватель, связанный с указанным DNS-именем. Поддерживается только в первичной реплике.
ОФФЛАЙН
Переводит группу доступности из режима «в сети» в режим «вне сети». Нет потери данных для баз данных синхронной фиксации.
Когда группа доступности переходит в автономный режим, ее базы данных становятся недоступными для клиентов, и вы не можете вернуть группу доступности в режим "в сети". Поэтому используйте OFFLINE этот параметр только во время миграции групп доступности AlwaysOn между кластерами при переносе ресурсов группы доступности в новый кластер WSFC.
Дополнительные сведения см. в разделе Перевод группы доступности в режим "вне сети" (SQL Server).
Предварительные требования и ограничения
Сведения о предварительных требованиях и ограничениях на реплики доступности и на экземплярах сервера узлов и компьютерах см. в разделе "Предварительные требования", "Ограничения" и рекомендации для групп доступности AlwaysOn.
Сведения об ограничениях инструкций AVAILABILITY GROUP Transact-SQL см. в Transact-SQL инструкциях для групп доступности AlwaysOn.
Разрешения
Вам потребуется ALTER AVAILABILITY GROUP разрешение на группу доступности, разрешение, CONTROL AVAILABILITY GROUPALTER ANY AVAILABILITY GROUP разрешение или CONTROL SERVER разрешение. Вам также требуется ALTER ANY DATABASE разрешение.
Примеры
А. Присоединение вторичной реплики к группе доступности
В следующем примере присоединяется вторичная реплика, к которой вы подключены к группе доступности AccountsAG.
ALTER AVAILABILITY GROUP AccountsAG JOIN;
GO
В. Принудительное отработка отказа группы доступности
В следующем примере группа доступности AccountsAG выполняет отработку отказа на вторичную реплику, к которой вы подключены.
ALTER AVAILABILITY GROUP AccountsAG FORCE_FAILOVER_ALLOW_DATA_LOSS;
GO
В. Принудительное шифрование подключений к группе доступности
Примеры, приведенные в этом разделе, принудительно шифруют подключения к AccountsAG группе доступности.
Если имя сервера отображается в каждом сертификате, как определено в любом из методов, можно опустить HostNameInCertificate этот параметр:
ALTER AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict')
Если вы выполнили метод 1 , но не указали имя сервера в качестве альтернативного имени субъекта в сертификате, необходимо указать значение, которое отображается в альтернативном имени субъекта в параметре HostNameInCertificate :
ALTER AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;HostNameInCertificate=<Subject Alternative Name>')
Если вы выполнили метод 1 и хотите использовать ServerCertificate свойство вместо предоставления значения для HostNameInCertificate:
ALTER AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;ServerCertificate=C:\Users\admin\SqlAGCertificate.cer')
Связанный контент
- СОЗДАНИЕ ГРУППЫ ДОСТУПНОСТИ (Transact-SQL)
- ALTER DATABASE (Transact-SQL) SET HADR
- ГРУППА ДОСТУПНОСТИ DROP (Transact-SQL)
- sys.availability_replicas (Transact-SQL)
- sys.availability_groups (Transact-SQL)
- Поиск и устранение неисправностей конфигурации групп доступности AlwaysOn (SQL Server)
- Что такое группа доступности AlwaysOn?
- Подключитесь к прослушивателю группы доступности Always On