Обзор командлетов PowerShell для групп доступности AlwaysOnOverview of PowerShell Cmdlets for Always On Availability Groups

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

MicrosoftMicrosoft PowerShell ― это оболочка командной строки для задач и язык скриптов, разработанный специально для администрирования систем.PowerShell is a task-based command-line shell and scripting language designed especially for system administration. Группы доступности AlwaysOnAlways On availability groups содержит набор командлетов PowerShell для SQL Server 2017SQL Server 2017 , которые позволяют развертывать, управлять и отслеживать группы доступности, реплики доступности и базы данных доступности.provides a set of PowerShell cmdlets in SQL Server 2017SQL Server 2017 that enable you to deploy, manage, and monitor availability groups, availability replicas, and availability databases.

Примечание

Командлет PowerShell может завершиться после успешного инициирования действия.A PowerShell cmdlet can complete by successfully initiating an action. Это не означает, что предписанное действие, например отработка отказа для группы доступности, завершено.This does not indicate that the intended work, such as the fail over of an availability group, has completed. При создании скрипта для некой последовательности действий может оказаться необходимым проверить состояние действий и подождать из завершения.When scripting a sequence of actions, you might have to check the status of actions, and wait for them to complete.

Примечание

Список разделов электронной документации по SQL Server 2017SQL Server 2017 , в которых описано использование командлетов для выполнения задач Группы доступности AlwaysOnAlways On availability groups , приведен в подразделе "Связанные задачи" в разделе Обзор групп доступности AlwaysOn (SQL Server).For a list of topics in SQL Server 2017SQL Server 2017 Books Online that describe how to use cmdlets to perform Группы доступности AlwaysOnAlways On availability groups tasks, see the "Related Tasks" section of Overview of Always On Availability Groups (SQL Server).

Настройка экземпляра сервера для групп доступности AlwaysOnConfiguring a Server Instance for Always On Availability Groups

КомандлетыCmdlets ОписаниеDescription Поддерживается наSupported on
Disable-SqlAlwaysOnDisable-SqlAlwaysOn Отключает компонент Группы доступности AlwaysOnAlways On availability groups для экземпляра сервера.Disables the Группы доступности AlwaysOnAlways On availability groups feature on a server instance. Экземпляр сервера, указанный параметром Path, InputObjectили параметром Name .The server instance that is specified by the Path, InputObject, or Name parameter. (Необходим выпуск SQL ServerSQL Server с поддержкой Группы доступности AlwaysOnAlways On availability groups.)(Must be an edition of SQL ServerSQL Server that supports Группы доступности AlwaysOnAlways On availability groups.)
Enable-SqlAlwaysOnEnable-SqlAlwaysOn Включает Группы доступности AlwaysOnAlways On availability groups в экземпляре SQL Server 2017SQL Server 2017 , который поддерживает компонент Группы доступности AlwaysOnAlways On availability groups .Enables Группы доступности AlwaysOnAlways On availability groups on an instance of SQL Server 2017SQL Server 2017 that supports the Группы доступности AlwaysOnAlways On availability groups feature. Дополнительные сведения о поддержке Группы доступности AlwaysOnAlways On availability groups см. в разделе Предварительные требования, ограничения и рекомендации для групп доступности AlwaysOn (SQL Server).For information about support for Группы доступности AlwaysOnAlways On availability groups, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server). Любой выпуск SQL ServerSQL Server с поддержкой Группы доступности AlwaysOnAlways On availability groups.Any edition of SQL ServerSQL Server that supports Группы доступности AlwaysOnAlways On availability groups.
New-SqlHadrEndPointNew-SqlHadrEndPoint Создает новую конечную точку зеркального отображения базы данных на экземпляре сервера.Creates a new database mirroring endpoint on a server instance. Эта конечная точка необходима для перемещения данных между базой данных-источником и базой данных-получателем.This endpoint is required for data movement between primary and secondary databases. Любой экземпляр SQL ServerSQL ServerAny instance of SQL ServerSQL Server
Set-SqlHadrEndpointSet-SqlHadrEndpoint Изменяет свойства существующей конечной точки зеркального отображения базы данных, например имя, состояние и свойства проверки подлинности.Changes the properties of an existing database mirroring endpoint, such as the name, state, or authentication properties. Экземпляр сервера, который поддерживает Группы доступности AlwaysOnAlways On availability groups и в котором отсутствует конечная точка зеркального отображения базы данныхA server instance that supports Группы доступности AlwaysOnAlways On availability groups and lacks a database mirroring endpoint

Резервное копирование и восстановление баз данных и журналов транзакцийBacking Up and Restoring Databases and Transaction Logs

КомандлетыCmdlets ОписаниеDescription Поддерживается наSupported on
Backup-SqlDatabaseBackup-SqlDatabase Создает резервную копию данных или журнала.Creates a data or log backup. Любая база данных, находящаяся в режиме «в сети» (для Группы доступности AlwaysOnAlways On availability groupsбаза данных на том экземпляре сервера, на котором размещена первичная реплика)Any online database (for Группы доступности AlwaysOnAlways On availability groups, a database on the server instance that hosts the primary replica)
Restore-SqlDatabaseRestore-SqlDatabase Восстанавливает резервную копию.Restores a backup. Любой экземпляр SQL ServerSQL Server (для Группы доступности AlwaysOnAlways On availability groupsэкземпляр сервера, на котором размещена вторичная реплика)Any instance of SQL ServerSQL Server (for Группы доступности AlwaysOnAlways On availability groups, a server instance that hosts a secondary replica)

Важно!

При подготовке базы данных-получателя необходимо использовать параметр -NoRecovery в каждой команде Restore-SqlDatabase.When preparing a secondary database, you must use the -NoRecovery parameter in every Restore-SqlDatabase command.

Дополнительные сведения об использовании этих командлетов для подготовки базы данных-получателя см. в разделе Подготовка базы данных-получателя для присоединения к группе доступности (SQL Server).For information about using these cmdlets to prepare a secondary database, see Manually Prepare a Secondary Database for an Availability Group (SQL Server).

Creating and Managing an Availability GroupCreating and Managing an Availability Group

КомандлетыCmdlets ОписаниеDescription Поддерживается наSupported on
New-SqlAvailabilityGroupNew-SqlAvailabilityGroup Создает новую группу доступности.Creates a new availability group. Экземпляр сервера, в котором будет размещена первичная репликаServer instance to host primary replica
Remove-SqlAvailabilityGroupRemove-SqlAvailabilityGroup Удаляет группу доступности.Deletes availability group. Экземпляр сервера с включенным компонентом HADRHADR-enabled server instance
Set-SqlAvailabilityGroupSet-SqlAvailabilityGroup Устанавливает свойства группы доступности; включение и отключение режимов «в сети» и «вне сети» группы доступностиSets the properties of an availability group; take an availability group online/offline Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica
Switch-SqlAvailabilityGroupSwitch-SqlAvailabilityGroup Запускает одну из следующих форм отработки отказа.Initiates one of the following forms of failover:

Принудительная отработка отказа для группы доступности (возможна потеря данных).A forced failover of an availability group (with possible data loss).

Переход на другой ресурс группы доступности вручную.A manual failover of an availability group.
Экземпляр сервера, на котором размещается целевая вторичная репликаServer instance that hosts target secondary replica

Creating and Managing an Availability Group ListenerCreating and Managing an Availability Group Listener

КомандлетCmdlet ОписаниеDescription Поддерживается наSupported on
New-SqlAvailabilityGroupListenerNew-SqlAvailabilityGroupListener Создает прослушиватель группы доступности и привязывает его к существующей группе доступности.Creates a new availability group listener and attaches it to an existing availability group. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica
Set-SqlAvailabilityGroupListenerSet-SqlAvailabilityGroupListener Изменяет порт существующего прослушивателя группы доступности.Modifies the port setting on an existing availability group listener. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica
Add-SqlAvailabilityGroupListenerStaticIpAdd-SqlAvailabilityGroupListenerStaticIp Добавляет статический IP-адрес в конфигурацию существующего прослушивателя группы доступности.Adds a static IP address to an existing availability group listener configuration. IP-адрес может быть адресом IPv4 с подсетью или адресом IPv6.The IP address can be an IPv4 address with subnet, or an IPv6 address. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica

Creating and Managing an Availability ReplicaCreating and Managing an Availability Replica

КомандлетыCmdlets ОписаниеDescription Поддерживается наSupported on
New-SqlAvailabilityReplicaNew-SqlAvailabilityReplica Создает новую реплику доступности.Creates a new availability replica. Вы можете использовать параметр -AsTemplate для создания в памяти объекта реплики доступности для каждой новой реплики доступности.You can Use the -AsTemplate parameter to create an in-memory availability-replica object for each new availability replica. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica
Join-SqlAvailabilityGroupJoin-SqlAvailabilityGroup Присоединяет вторичную реплику к группе доступности.Joins a secondary replica to the availability group. Экземпляр сервера, в котором размещена вторичная репликаServer instance that hosts secondary replica
Remove-SqlAvailabilityReplicaRemove-SqlAvailabilityReplica Удаляет реплику доступности.Deletes an availability replica. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica
Set-SqlAvailabilityReplicaSet-SqlAvailabilityReplica Устанавливает свойства реплики доступности.Sets the properties of an availability replica. Экземпляр сервера, в котором размещена первичная репликаServer instance that hosts primary replica

Adding and Managing an Availability DatabaseAdding and Managing an Availability Database

КомандлетыCmdlets ОписаниеDescription Поддерживается наSupported on
Add-SqlAvailabilityDatabaseAdd-SqlAvailabilityDatabase Добавляет базу данных в группу доступности на первичной реплике.On the primary replica, adds a database to an availability group.

Присоединяет вторичную базу данных к группе доступности на вторичной реплике.On a secondary replica, joins a secondary database to an availability group.
Любой экземпляр сервера, на котором размещается реплика доступности (поведение отличается для первичных и вторичных реплик)Any server instance that hosts an availability replica (behavior differs for primary and secondary replicas)
Remove-SqlAvailabilityDatabaseRemove-SqlAvailabilityDatabase Удаляет базу данных из группы доступности на первичной реплике.On the primary replica, removes the database from the availability group.

Удаляет локальную базу данных-получатель из локальной вторичной реплики на вторичной реплике.On a secondary replica, removes the local secondary database from the local secondary replica.
Любой экземпляр сервера, на котором размещается реплика доступности (поведение отличается для первичных и вторичных реплик)Any server instance that hosts an availability replica (behavior differs for primary and secondary replicas)
Resume-SqlAvailabilityDatabaseResume-SqlAvailabilityDatabase Возобновляет перемещение данных для приостановленной базы данных доступности.Resumes the data movement for a suspended availability database. Экземпляр сервера, на котором была приостановлена база данных.The server instance on which the database was suspended.
Suspend-SqlAvailabilityDatabaseSuspend-SqlAvailabilityDatabase Приостанавливает перемещение данных в любой базе данных доступности.Suspends the data movement for an availability database. Любой экземпляр сервера, на котором размещена реплика доступности.Any server instance that hosts an availability replica.

Monitoring Availability Group HealthMonitoring Availability Group Health

Следующие командлеты SQL ServerSQL Server позволяют отслеживать работоспособность группы доступности, ее реплик и баз данных.The following SQL ServerSQL Server cmdlets enable you to monitor the health of an availability group and its replicas and databases.

Важно!

Для выполнения этих командлетов необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute these cmdlets.

КомандлетCmdlet ОписаниеDescription Поддерживается наSupported on
Test-SqlAvailabilityGroupTest-SqlAvailabilityGroup Оценивает работоспособность группы доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of an availability group by evaluating SQL Server policy based management (PBM) policies. Любой экземпляр сервера, на котором размещена реплика доступности.*Any server instance that hosts an availability replica.*
Test-SqlAvailabilityReplicaTest-SqlAvailabilityReplica Оценивает работоспособность реплик доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of availability replicas by evaluating SQL Server policy based management (PBM) policies. Любой экземпляр сервера, на котором размещена реплика доступности.*Any server instance that hosts an availability replica.*
Test-SqlDatabaseReplicaStateTest-SqlDatabaseReplicaState Оценивает работоспособность базы данных доступности на всех присоединенных репликах доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of an availability database on all joined availability replicas by evaluating SQL Server policy based management (PBM) policies. Любой экземпляр сервера, на котором размещена реплика доступности.*Any server instance that hosts an availability replica.*

* Чтобы просмотреть сведения обо всех репликах доступности в группе доступности, используйте экземпляр сервера, на котором размещена первичная реплика.*To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

Дополнительные сведения см. в разделе Использование политик AlwaysOn для определения работоспособности группы доступности (SQL Server).For more information, see Use Always On Policies to View the Health of an Availability Group (SQL Server).

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Получение справок по SQL Server PowerShellGet Help SQL Server PowerShell