New-SqlAvailabilityGroup

创建可用性组。

语法

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

说明

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

示例

示例 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 创建包含主服务器实例的副本 (replica) ,然后将其存储在 $PrimaryReplica 变量中。 命令使用 $PrimaryServer 的 Version 属性指定服务器实例的版本。

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

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

参数

-AutomatedBackupPreference

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

  • 主副本。 指定备份始终发生在主副本 (replica) 上。 此选项支持使用在辅助副本 (replica) 上运行备份时不可用的功能,例如差异备份。
  • SecondaryOnly。 指定从不对主要副本执行备份。 如果主副本 (replica) 是唯一联机副本 (replica) ,则不会进行备份。
  • 二 次。 指定备份发生在次要副本上,除非主副本 (replica) 是唯一联机副本 (replica) 。 然后,在主副本 (replica) 上进行备份。
  • 无。 指定在确定执行备份的副本 (replica) 时不考虑主要或次要状态。 相反,备份优先级和联机状态决定了执行备份的副本 (replica) 。
Type:AvailabilityGroupAutomatedBackupPreference
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AvailabilityReplica

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

Type:AvailabilityReplica[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-BasicAvailabilityGroup

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Database

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseHealthTrigger

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DtcSupportEnabled

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FailureConditionLevel

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

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

-HealthCheckTimeout

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

Type:Server
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

Microsoft.SqlServer.Management.Smo.Server

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

输出

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

此 cmdlet 返回可用性组。