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>]
Description
New-SqlAvailabilityGroup Cmdlet 會在 AlwaysOn 可用性群組中建立可用性群組。 InputObject 或 Path 參數會指定裝載初始主要複本的伺服器。
範例
範例 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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AvailabilityReplica
指定此 Cmdlet 包含在可用性群組中的可用性複本陣列。 若要取得 AvailabilityReplica 物件,請使用 New-SqlAvailabilityReplica Cmdlet。 指定 AsTemplate 參數。
類型: | AvailabilityReplica[] |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-BasicAvailabilityGroup
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 前提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Database
指定本機、讀取/寫入使用者資料庫的陣列。 這些資料庫必須使用完整恢復模式,且不得使用 AUTO_CLOSE。 這些資料庫不能屬於另一個可用性群組,而且不得設定為資料庫鏡像。 您必須指定此參數的值。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DatabaseHealthTrigger
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DtcSupportEnabled
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FailureConditionLevel
指定可用性群組的自動故障轉移行為。 此參數可接受的值為:
- OnServerDown。 如果 SQL Server 服務停止,則故障轉移或重新啟動。
- OnServerUnresponsive。 如果滿足任何較低值的條件,則故障轉移或重新啟動,以及當 SQL Server 服務連線到叢集且超過 HealthCheckTimeout 閾值時,或目前處於主要角色的可用性複本處於失敗狀態時。
- OnCriticalServerError。 如果滿足任何較低值的條件,以及發生內部重大伺服器錯誤時,故障轉移或重新啟動,包括記憶體不足狀況、嚴重寫入存取違規或太多傾印。
- OnModerateServerError。 如果滿足任何較低值的條件,以及發生中度伺服器錯誤,則故障轉移或重新啟動,包括持續性記憶體不足狀況。
- OnAnyQualifiedFailureConditions。 如果滿足任何較低值的條件,則故障轉移或重新啟動;如果發生合格的失敗狀況,包括引擎背景工作線程耗盡,以及偵測到無法解決的死結。
類型: | AvailabilityGroupFailureConditionLevel |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HealthCheckTimeout
指定一段時間的長度,以毫秒為單位,之後 AlwaysOn 可用性群組會將沒有回應的伺服器宣告為狀況不良。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定裝載此 Cmdlet 所建立之可用性群組主要復本之 SQL Server 的實例。
類型: | Server |
Position: | 3 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
指定這個 Cmdlet 所建立的可用性群組名稱。
類型: | String |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定裝載此 Cmdlet 所建立之可用性群組初始主要複本之 SQL Server 實例的路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。 如果您指定值,則路徑目前必須存在。
類型: | String |
Position: | 3 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Script
表示此 Cmdlet 會傳回 Transact-SQL 腳本,以執行此 Cmdlet 執行的工作。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
Microsoft.SqlServer.Management.Smo.Server
您可以將伺服器實例傳遞至此 Cmdlet。
輸出
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
此 Cmdlet 會傳回可用性群組。