Добавление вторичной реплики к группе доступности Always On
Область применения: SQL Server
В этом разделе описывается, как добавить вторичную реплику в существующую группу доступности AlwaysOn с помощью среды SQL Server Management Studio, Transact-SQL или PowerShell в SQL Server.
Требования и ограничения
- Необходимо подключиться к экземпляру сервера, на котором размещена первичная реплика.
Дополнительные сведения см. в статье Предварительные требования, ограничения и рекомендации для групп доступности Always On (SQL Server).
Безопасность
Разрешения
Необходимо разрешение ALTER AVAILABILITY GROUP для группы доступности, разрешение CONTROL AVAILABILITY GROUP, разрешение ALTER ANY AVAILABILITY GROUP или разрешение CONTROL SERVER.
Мы слушаем: если вы нашли что-то устаревшее или неправильное в этой статье, например шаг или пример кода, сообщите нам. Можно воспользоваться кнопкой Эта страница в разделе Отзывы внизу страницы. Обычно мы читаем отзывы про материалы по SQL на следующий день. Благодарим вас.
Использование среды SQL Server Management Studio
Добавление реплики
В обозревателе объектов подключитесь к экземпляру сервера, на котором размещена первичная реплика, и разверните дерево сервера.
Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .
Щелкните правой кнопкой группу доступности и выберите одну из следующих команд.
Чтобы запустить мастер добавления реплики в группу доступности, выберите команду Добавить реплику . Дополнительные сведения см. в разделе Использование мастера добавления реплики в группу доступности (среда SQL Server Management Studio).
Либо выберите команду Свойства , чтобы открыть диалоговое окно Свойства группы доступности . Чтобы добавить реплику в этом диалоговом окне, выполните следующие действия.
На панели Реплики доступности этого диалогового окна нажмите кнопку Добавить . Будет создана запись реплики с пустым полем «Экземпляр сервера».
Введите имя экземпляра сервера, который соответствует обязательным условиям для размещения реплики доступности.
Чтобы добавить другие реплики, повторите предыдущие шаги. После завершения добавления реплик нажмите кнопку ОК для завершения операции.
Использование Transact-SQL
Добавление реплики
Подключитесь к экземпляру SQL Server, на котором размещена первичная реплика.
Добавьте новую вторичную реплику в группу доступности с помощью предложения ADD REPLICA ON инструкции ALTER AVAILABILITY GROUP. В предложении ADD REPLICA ON необходимо указать параметры ENDPOINT_URL, AVAILABILITY_MODE и FAILOVER_MODE. Другие параметры реплики (BACKUP_PRIORITY, SECONDARY_ROLE, PRIMARY_ROLE и SESSION_TIMEOUT) являются необязательными. Дополнительные сведения см. в статье ALTER AVAILABILITY GROUP (Transact-SQL).
Например, следующая инструкция Transact-SQL создает новую реплику в группе доступности
MyAG
в экземпляре сервера по умолчанию, размещенном на компьютереCOMPUTER04
, с URL-адресом конечной точкиTCP://COMPUTER04.Adventure-Works.com:5022'
. Данная реплика поддерживает переход на другой ресурс вручную и режим доступности «Asynchronous Commit».ALTER AVAILABILITY GROUP MyAG ADD REPLICA ON 'COMPUTER04' WITH ( ENDPOINT_URL = 'TCP://COMPUTER04.Adventure-Works.com:5022', AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, FAILOVER_MODE = MANUAL );
Использование PowerShell
Добавление реплики
Перейдите в каталог (cd) экземпляра сервера, в котором находится первичная реплика.
Используйте командлет New-SqlAvailabilityReplica .
Например, следующая команда добавляет реплику доступности в существующую группу доступности с именем
MyAg
. Данная реплика поддерживает переход на другой ресурс вручную и режим доступности «Asynchronous Commit». В роли вторичной эта реплика будет поддерживать соединения с доступом на чтение, позволяя разгрузить обработку только для чтения для этой реплики.$agPath = "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg" $endpointURL = "TCP://PrimaryServerName.domain.com:5022" $failoverMode = "Manual" $availabilityMode = "AsynchronousCommit" $secondaryReadMode = "AllowAllConnections" New-SqlAvailabilityReplica -Name SecondaryServer\Instance ` -EndpointUrl $endpointURL ` -FailoverMode $failoverMode ` -AvailabilityMode $availabilityMode ` -ConnectionModeInSecondaryRole $secondaryReadMode ` -Path $agPath
Примечание.
Чтобы просмотреть синтаксис командлета, используйте командлет Get-Help в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.
Настройка и использование поставщика SQL Server PowerShell
Дальнейшие действия. После добавления вторичной реплики
Для добавления реплики в существующую группу доступности необходимо выполнить следующие шаги.
Подключитесь к экземпляру сервера, на котором должна быть размещена новая вторичная реплика доступности.
Присоедините новую вторичную реплику к группе доступности. Дополнительные сведения см. в статье Присоединение вторичной реплики к группе доступности Always On.
Для каждой базы данных в группе доступности создайте базу данных-получатель на экземпляре сервера, на котором размещается вторичная реплика. Дополнительные сведения см. в статье Подготовка базы данных-получателя для присоединения к группе доступности Always On..
Присоедините все новые базы данных-получатели к группе доступности. Дополнительные сведения см. в статье Присоединение базы данных-получателя к группе доступности (SQL Server).
Связанные задачи
Управление репликой доступности
Присоединение вторичной реплики к группе доступности (SQL Server)
Удаление вторичной реплики из группы доступности (SQL Server)
Настройка доступа только для чтения в реплике доступности (SQL Server)
Изменение режима доступности реплики доступности (SQL Server)
Изменение режима отработки отказа реплики доступности (SQL Server)
Изменение периода ожидания сеанса для реплики доступности (SQL Server)
Изменение периода ожидания сеанса для реплики доступности (SQL Server)
См. также
ALTER AVAILABILITY GROUP (Transact-SQL)
Обзор групп доступности Always On (SQL Server)
Создание и настройка групп доступности (SQL Server)
Использование панели мониторинга AlwaysOn (среда SQL Server Management Studio)
Отслеживание групп доступности (Transact-SQL)