New-SqlAvailabilityGroup

创建可用性组。

语法

ByPath (默认值)

New-SqlAvailabilityGroup
    [-Name] <String>
    [[-Path] <String>]
    -AvailabilityReplica <AvailabilityReplica[]>
    [-Database <String[]>]
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-BasicAvailabilityGroup]
    [-DatabaseHealthTrigger]
    [-DtcSupportEnabled]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

New-SqlAvailabilityGroup
    [-Name] <String>
    [-InputObject] <Server>
    -AvailabilityReplica <AvailabilityReplica[]>
    [-Database <String[]>]
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-BasicAvailabilityGroup]
    [-DatabaseHealthTrigger]
    [-DtcSupportEnabled]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

New-SqlAvailabilityGroup cmdlet 在 AlwaysOn 可用性组中创建可用性组。 InputObjectPath 参数指定承载初始主副本的服务器。

示例

示例 1:创建可用性组

PS C:\> $PrimaryServer = Get-Item "SQLSERVER:\SQL\PrimaryServer\Instance22"
PS C:\> $SecondaryServer = Get-Item "SQLSERVER:\SQL\SecondaryServer\Instance22"
PS C:\> $PrimaryReplica = New-SqlAvailabilityReplica -Name "PrimaryServer\Instance22" -EndpointUrl "TCP://PrimaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($PrimaryServer.Version)
PS C:\> $SecondaryReplica = New-SqlAvailabilityReplica -Name "SecondaryServer\Instance22" -EndpointUrl "TCP://SecondaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($SecondaryServer.Version)
PS C:\> New-SqlAvailabilityGroup -InputObject $PrimaryServer -Name "MainAG" -AvailabilityReplica ($PrimaryReplica, $SecondaryReplica) -Database @("Database01","Database02")

第一个命令获取主服务器上的 SQL Server 实例,然后将其存储在$PrimaryServer变量中。

第二个命令获取辅助服务器上的 SQL Server 实例,然后将其存储在$SecondaryServer变量中。

第三个命令使用 New-SqlAvailabilityReplica cmdlet 创建包含主服务器实例的副本,然后将其存储在$PrimaryReplica变量中。 该命令使用 $PrimaryServer 的 Version 属性指定服务器实例的版本。

第四个命令使用 New-SqlAvailabilityReplica 创建包含辅助服务器实例的副本,然后将其存储在$SecondaryReplica变量中。 该命令使用 $SecondaryServer 的 Version 属性指定服务器实例的版本。

最后一个命令创建可用性组。 它指定名称、主服务器、副本和其他信息。

参数

-AutomatedBackupPreference

指定可用性组的自动备份首选项。 此参数的可接受值为:

  • 主要。 指定备份始终发生在主副本上。 此选项支持在次要副本(例如差异备份)上运行备份时不可用的功能。
  • SecondaryOnly。 指定从不对主要副本执行备份。 如果主副本是唯一联机副本,则不会进行备份。
  • 二 次。 指定次要副本上发生备份,除非主副本是联机唯一的副本。 然后,备份发生在主副本上。
  • 没有。 指定在确定哪个副本执行备份时,不会考虑主要状态或辅助状态。 相反,备份优先级和联机状态决定了哪个副本执行备份。

参数属性

类型:AvailabilityGroupAutomatedBackupPreference
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AvailabilityReplica

指定此 cmdlet 包含在可用性组中的可用性副本数组。 若要获取 AvailabilityReplica 对象,请使用 New-SqlAvailabilityReplica cmdlet。 指定 AsTemplate 参数。

参数属性

类型:

AvailabilityReplica[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-BasicAvailabilityGroup

New-SqlAvailabilityGroup cmdlet 在 AlwaysOn 可用性组中创建可用性组。 InputObjectPath 参数指定承载初始主副本的服务器。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Database

指定本地读/写用户数据库的数组。 这些数据库必须使用完整恢复模式,并且不得使用AUTO_CLOSE。 这些数据库不能属于另一个可用性组,并且无法为数据库镜像配置。 必须为此参数指定值。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DatabaseHealthTrigger

New-SqlAvailabilityGroup cmdlet 在 AlwaysOn 可用性组中创建可用性组。 InputObjectPath 参数指定承载初始主副本的服务器。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DtcSupportEnabled

New-SqlAvailabilityGroup cmdlet 在 AlwaysOn 可用性组中创建可用性组。 InputObjectPath 参数指定承载初始主副本的服务器。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FailureConditionLevel

指定可用性组的自动故障转移行为。 此参数的可接受值为:

  • OnServerDown。 如果 SQL Server 服务停止,则故障转移或重启。
  • OnServerUnresponsive。 如果满足任何较低值条件,以及 SQL Server 服务连接到群集且超过 HealthCheckTimeout 阈值,或者当前处于主角色的可用性副本处于失败状态,则故障转移或重启。
  • OnCriticalServerError。 如果满足任何较低值的条件,以及发生内部关键服务器错误(包括内存不足、严重写入访问冲突或转储过多)时,故障转移或重启。
  • OnModerateServerError。 如果满足任何较低值条件,以及发生中等服务器错误(包括内存不足状态),则故障转移或重启。
  • OnAnyQualifiedFailureConditions。 如果满足任何较低值的条件,以及发生符合条件的故障条件,则故障转移或重启,其中包括检测到引擎工作线程耗尽和无法解决的死锁。

参数属性

类型:AvailabilityGroupFailureConditionLevel
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HealthCheckTimeout

指定一段时间(以毫秒为单位),之后 AlwaysOn 可用性组将无响应服务器声明为不正常。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

指定承载此 cmdlet 创建的可用性组的主要副本的 SQL Server 实例。

参数属性

类型:Server
默认值:None
支持通配符:False
不显示:False

参数集

ByObject
Position:3
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

指定此 cmdlet 创建的可用性组的名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

指定承载此 cmdlet 创建的可用性组的初始主副本的 SQL Server 实例的路径。 如果未指定此参数,此 cmdlet 将使用当前工作位置。 如果指定值,则路径当前必须存在。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ByPath
Position:3
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Script

指示此 cmdlet 返回执行此 cmdlet 执行的任务的 Transact-SQL 脚本。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

Microsoft.SqlServer.Management.Smo.Server

可以将服务器实例传递给此 cmdlet。

输出

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

此 cmdlet 返回可用性组。