Microsoft PowerShell 是专门设计用于系统管理的基于任务的命令行 Shell 和脚本语言。 Always On可用性组在 SQL Server 2014 中提供了一组 PowerShell cmdlet,使你能够部署、管理和监视可用性组、可用性副本和可用性数据库。
注意
一旦成功启动某操作,PowerShell cmdlet 即告完成。 这并不表示要执行的工作(例如可用性组的故障转移)已经完成。 对一系列操作编写脚本时,您可能必须检查这些操作的状态,并等待这些操作完成。
本主题介绍了用于执行下列各组任务的 cmdlet:
注意
有关 SQL Server 2014 联机丛书中介绍如何使用 cmdlet 执行Always On可用性组任务的主题列表,请参阅 AlwaysOn 可用性组 (SQL Server) 概述的“相关任务”部分。
为 AlwaysOn 可用性组配置服务器实例
Cmdlet | 说明 | 支持平台 |
---|---|---|
Disable-SqlAlwaysOn |
禁用服务器实例上的Always On可用性组功能。 | 由 Path 、InputObject 或 Name 参数指定的服务器实例。 (必须是支持Always On可用性组的 SQL Server版本。) |
Enable-SqlAlwaysOn |
在支持 Always On 可用性组功能的 SQL Server 2014 实例上启用Always On可用性组。 有关Always On可用性组的支持的信息,请参阅 alwaysOn 可用性组 (SQL Server) 先决条件、限制和建议。 | 支持Always On可用性组的任何SQL Server版本。 |
New-SqlHadrEndPoint |
在服务器实例上创建新的数据库镜像端点。 在主数据库和辅数据库之间移动数据时需要此端点。 | 任何 SQL Server |
Set-SqlHadrEndpoint |
更改现有数据库镜像端点的属性,如名称、状态或身份验证属性。 | 支持Always On可用性组且缺少数据库镜像终结点的服务器实例 |
备份和还原数据库和事务日志
Cmdlet | 说明 | 支持平台 |
---|---|---|
Backup-SqlDatabase |
创建数据或日志备份。 | Always On可用性组(承载主副本 (replica) ) 的服务器实例上的数据库)的任何联机数据库 ( |
Restore-SqlDatabase |
还原备份。 | Always On可用性组(承载辅助副本 (replica) ) 的服务器实例)的任何SQL Server (实例 **重要**准备辅助数据库时,必须在每个 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) 策略来评估所有联接的可用性副本的可用性数据库的运行状况。 | 承载可用性副本的任何服务器实例。* |
*若要查看有关可用性组中所有可用性副本的信息,请使用承载主副本的服务器实例。
有关详细信息,请参阅使用 AlwaysOn 策略查看可用性组的运行状况 (SQL Server) 。