Always On 可用性组的 PowerShell Cmdlet 概述

适用于SQL Server

Microsoft PowerShell 是专门设计用于系统管理的基于任务的命令行 Shell 和脚本语言。 Always On 可用性组 在 SQL Server 中提供一组 PowerShell cmdlet,支持您部署、管理和监视可用性组、可用性副本和可用性数据库。

注意

一旦成功启动某操作,PowerShell cmdlet 即告完成。 这并不表示要执行的工作(例如可用性组的故障转移)已经完成。 对一系列操作编写脚本时,您可能必须检查这些操作的状态,并等待这些操作完成。

注意

有关描述如何使用 cmdlet 来执行 Always On 可用性组任务的 SQL Server 联机丛书中的主题列表,请参阅 Always On 可用性组概述 (SQL Server) 的“相关任务”一节。

为 Always On 可用性组配置服务器实例

Cmdlet 说明 支持平台
Disable-SqlAlwaysOn 禁用服务器实例上的 Always On 可用性组 功能。 PathInputObjectName 参数指定的服务器实例。 (必须为支持 SQL Server 的 Always On 可用性组版本。)
Enable-SqlAlwaysOn 在支持 Always On 可用性组 功能的 SQL Server 实例上启用 Always On 可用性组 。 有关支持 Always On 可用性组的信息,请参阅 Always On 可用性组的先决条件、限制和建议 (SQL Server) 任何支持 SQL Server 的 Always On 可用性组版本。
New-SqlHadrEndPoint 在服务器实例上创建新的数据库镜像端点。 在主数据库和辅数据库之间移动数据时需要此端点。 任何 SQL Server
Set-SqlHadrEndpoint 更改现有数据库镜像端点的属性,如名称、状态或身份验证属性。 支持 Always On 可用性组 并缺少数据库镜像端点的服务器实例

备份和还原数据库和事务日志

Cmdlet 说明 支持平台
Backup-SqlDatabase 创建数据或日志备份。 任何联机数据库(对于 Always On 可用性组,则为承载主副本的服务器实例上的数据库)
Restore-SqlDatabase 还原备份。 任何 SQL Server 实例(对于 Always On 可用性组,则为承载辅助副本的服务器实例)

重要

准备辅助数据库时,必须在每个 Restore-SqlDatabase 命令中使用 -NoRecovery 参数

有关使用这些 cmdlet 来准备辅助数据库的信息,请参阅为可用性组手动准备辅助数据库 (SQL Server)

创建和管理可用性组

Cmdlet 说明 支持平台
New-SqlAvailabilityGroup 创建新的可用性组。 承载主副本的服务器实例
Remove-SqlAvailabilityGroup 删除可用性组。 启用 HADR 的服务器实例
Set-SqlAvailabilityGroup 设置可用性组的属性;使可用性组联机/脱机 承载主副本的服务器实例
Switch-SqlAvailabilityGroup 启动下列形式之一的故障转移:

可用性组的强制故障转移(可能会丢失数据)。

可用性组的手动故障转移。
承载目标辅助副本的服务器实例

创建和管理可用性组侦听器

Cmdlet 说明 支持平台
New-SqlAvailabilityGroupListener 创建一个新的可用性组侦听器,并将其附加到一个现有可用性组。 承载主副本的服务器实例
Set-SqlAvailabilityGroupListener 修改现有可用性组侦听器的端口设置。 承载主副本的服务器实例
Add-SqlAvailabilityGroupListenerStaticIp 将一个静态 IP 地址添加到现有的可用性组侦听器配置。 此 IP 地址可以是带子网的 IPv4 地址或 IPv6 地址。 承载主副本的服务器实例

创建和管理可用性副本

Cmdlet 说明 支持平台
New-SqlAvailabilityReplica 创建新的可用性副本。 你可以使用 -AsTemplate 参数为每个新的可用性副本创建内存中的可用性副本对象。 承载主副本的服务器实例
Join-SqlAvailabilityGroup 将辅助副本联接到该可用性组。 承载辅助副本的服务器实例
Remove-SqlAvailabilityReplica 删除可用性副本。 承载主副本的服务器实例
Set-SqlAvailabilityReplica 设置可用性副本的属性。 承载主副本的服务器实例

添加和管理可用性数据库

Cmdlet 说明 支持平台
Add-SqlAvailabilityDatabase 在主副本上,将数据库添加到可用性组。

在辅助副本上,将辅助数据库联接到可用性组。
承载可用性副本的任何服务器实例(主副本与辅助副本的行为不同)
Remove-SqlAvailabilityDatabase 在主副本上,从可用性组中删除数据库。

在辅助副本上,从本地辅助副本中删除本地辅助数据库。
承载可用性副本的任何服务器实例(主副本与辅助副本的行为不同)
Resume-SqlAvailabilityDatabase 恢复已挂起的可用性数据库的数据移动。 已挂起数据库所在的服务器实例。
Suspend-SqlAvailabilityDatabase 挂起可用性数据库的数据移动。 承载可用性副本的任何服务器实例。

监视可用性组的运行状况

以下 SQL Server cmdlet 支持您监视可用性组及其副本和数据库的运行状况。

重要

您必须具有 CONNECT、VIEW SERVER STATE 和 VIEW ANY DEFINITION 权限才能执行这些 cmdlet。

Cmdlet 说明 支持平台
Test-SqlAvailabilityGroup 通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估可用性组的运行状况。 承载可用性副本的任何服务器实例。*
Test-SqlAvailabilityReplica 通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估可用性副本的运行状况。 承载可用性副本的任何服务器实例。*
Test-SqlDatabaseReplicaState 通过评估 SQL Server 基于策略的管理 (PBM) 策略来评估所有联接的可用性副本的可用性数据库的运行状况。 承载可用性副本的任何服务器实例。*

*若要查看有关可用性组中所有可用性副本的信息,请使用承载主副本的服务器实例。

有关详细信息,请参阅使用 Always On 策略查看可用性组的运行状况 (SQL Server)

另请参阅

AlwaysOn 可用性组概述 (SQL Server)
Get Help SQL Server PowerShell