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 可用性组中创建可用性组。 InputObject 或 Path 参数指定承载初始主副本 (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 返回可用性组。