Обзор командлетов PowerShell для групп доступности AlwaysOn

Применимо к:SQL Server

Microsoft PowerShell ― это оболочка командной строки для задач и язык скриптов, разработанный специально для администрирования систем. Группы доступности AlwaysOn содержит набор командлетов PowerShell для SQL Server , которые позволяют развертывать, управлять и отслеживать группы доступности, реплики доступности и базы данных доступности.

Примечание

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

Примечание

Список разделов электронной документации на SQL Server, в которых описано использование командлетов для выполнения задач в группе доступности Always On, приведен в подразделе "Связанные задачи" статьи о группе доступности Always On.

Настройка экземпляра сервера для групп доступности AlwaysOn

Командлеты Описание Поддерживается на
Disable-SqlAlwaysOn Отключает компонент Группы доступности AlwaysOn для экземпляра сервера. Экземпляр сервера, указанный параметром Path, InputObjectили параметром Name . (Необходим выпуск SQL Server с поддержкой Группы доступности AlwaysOn.)
Enable-SqlAlwaysOn Включает Группы доступности AlwaysOn в экземпляре SQL Server , который поддерживает компонент Группы доступности AlwaysOn . Дополнительные сведения о поддержке групп доступности Always On см. в статье Предварительные требования, ограничения и рекомендации для групп доступности Always On. Любой выпуск SQL Server с поддержкой Группы доступности AlwaysOn.
New-SqlHadrEndPoint Создает новую конечную точку зеркального отображения базы данных на экземпляре сервера. Эта конечная точка необходима для перемещения данных между базой данных-источником и базой данных-получателем. Любой экземпляр SQL Server
Set-SqlHadrEndpoint Изменяет свойства существующей конечной точки зеркального отображения базы данных, например имя, состояние и свойства проверки подлинности. Экземпляр сервера, который поддерживает Группы доступности AlwaysOn и в котором отсутствует конечная точка зеркального отображения базы данных

Резервное копирование и восстановление баз данных и журналов транзакций

Командлеты Описание Поддерживается на
Backup-SqlDatabase Создает резервную копию данных или журнала. Любая база данных, находящаяся в режиме «в сети» (для Группы доступности AlwaysOnбаза данных на том экземпляре сервера, на котором размещена первичная реплика)
Restore-SqlDatabase Восстанавливает резервную копию. Любой экземпляр SQL Server (для Группы доступности AlwaysOnэкземпляр сервера, на котором размещена вторичная реплика)

Важно!

При подготовке базы данных-получателя необходимо использовать параметр -NoRecovery в каждой команде Restore-SqlDatabase.

Дополнительные сведения об использовании этих командлетов для подготовки базы данных-получателя см. в статье Подготовка базы данных-получателя для присоединения к группе доступности Always On.

Создание группы доступности и управление ею

Командлеты Описание Поддерживается на
New-SqlAvailabilityGroup Создает новую группу доступности. Экземпляр сервера, в котором будет размещена первичная реплика
Remove-SqlAvailabilityGroup Удаляет группу доступности. Экземпляр сервера с включенным компонентом HADR
Set-SqlAvailabilityGroup Устанавливает свойства группы доступности; включение и отключение режимов «в сети» и «вне сети» группы доступности Экземпляр сервера, в котором размещена первичная реплика
Switch-SqlAvailabilityGroup Запускает одну из следующих форм отработки отказа.

Принудительная отработка отказа для группы доступности (возможна потеря данных).

Переход на другой ресурс группы доступности вручную.
Экземпляр сервера, на котором размещается целевая вторичная реплика

Создание прослушивателя групп доступности и управление им

Командлет Описание Поддерживается на
New-SqlAvailabilityGroupListener Создает прослушиватель группы доступности и привязывает его к существующей группе доступности. Экземпляр сервера, в котором размещена первичная реплика
Set-SqlAvailabilityGroupListener Изменяет порт существующего прослушивателя группы доступности. Экземпляр сервера, в котором размещена первичная реплика
Add-SqlAvailabilityGroupListenerStaticIp Добавляет статический IP-адрес в конфигурацию существующего прослушивателя группы доступности. IP-адрес может быть адресом IPv4 с подсетью или адресом IPv6. Экземпляр сервера, в котором размещена первичная реплика

Создание реплики доступности и управление ею

Командлеты Описание Поддерживается на
New-SqlAvailabilityReplica Создает новую реплику доступности. Вы можете использовать параметр -AsTemplate для создания в памяти объекта реплики доступности для каждой новой реплики доступности. Экземпляр сервера, в котором размещена первичная реплика
Join-SqlAvailabilityGroup Присоединяет вторичную реплику к группе доступности. Экземпляр сервера, в котором размещена вторичная реплика
Remove-SqlAvailabilityReplica Удаляет реплику доступности. Экземпляр сервера, в котором размещена первичная реплика
Set-SqlAvailabilityReplica Устанавливает свойства реплики доступности. Экземпляр сервера, в котором размещена первичная реплика

Добавление базы данных доступности и управление ею

Командлеты Описание Поддерживается на
Add-SqlAvailabilityDatabase Добавляет базу данных в группу доступности на первичной реплике.

Присоединяет вторичную базу данных к группе доступности на вторичной реплике.
Любой экземпляр сервера, на котором размещается реплика доступности (поведение отличается для первичных и вторичных реплик)
Remove-SqlAvailabilityDatabase Удаляет базу данных из группы доступности на первичной реплике.

Удаляет локальную базу данных-получатель из локальной вторичной реплики на вторичной реплике.
Любой экземпляр сервера, на котором размещается реплика доступности (поведение отличается для первичных и вторичных реплик)
Resume-SqlAvailabilityDatabase Возобновляет перемещение данных для приостановленной базы данных доступности. Экземпляр сервера, на котором была приостановлена база данных.
Suspend-SqlAvailabilityDatabase Приостанавливает перемещение данных в любой базе данных доступности. Любой экземпляр сервера, на котором размещена реплика доступности.

Отслеживание работоспособности групп доступности

Следующие командлеты SQL Server позволяют отслеживать работоспособность группы доступности, ее реплик и баз данных.

Важно!

Для выполнения этих командлетов необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.

Командлет Описание Поддерживается на
Test-SqlAvailabilityGroup Оценивает работоспособность группы доступности при помощи оценки состояния политик управления SQL Server. Любой экземпляр сервера, на котором размещена реплика доступности.*
Test-SqlAvailabilityReplica Оценивает работоспособность реплик доступности при помощи оценки состояния политик управления SQL Server. Любой экземпляр сервера, на котором размещена реплика доступности.*
Test-SqlDatabaseReplicaState Оценивает работоспособность базы данных доступности на всех присоединенных репликах доступности при помощи оценки состояния политик управления SQL Server. Любой экземпляр сервера, на котором размещена реплика доступности.*

* Чтобы просмотреть сведения обо всех репликах доступности в группе доступности, используйте экземпляр сервера, на котором размещена первичная реплика.

Дополнительные сведения см. в статье Использование политик Always On для определения работоспособности группы доступности (SQL Server).

См. также:

Обзор групп доступности AlwaysOn SQL Server)
Получение справок по SQL Server PowerShell