New-SqlAvailabilityReplica
建立可用性複本。
Syntax
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-SqlAvailabilityReplica Cmdlet 會建立可用性複本。 在裝載主要複本之 SQL Server 實例上執行此 Cmdlet。
若要在建立可用性群組之前建立可用性複本,請指定 AsTemplate 參數。 若要將復本新增至現有的可用性群組, InputObject 或 Path 參數會指定可用性群組。
範例
範例 1:建立可用性複本的表示法
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
此範例會建立可用性複本的記憶體中表示法。 伺服器不會認可任何變更。 您可以使用此複本做為 New-SqlAvailabilityGroup之 AvailabilityReplica 參數的值
第一個命令會取得主伺服器的實例。
第二個命令會建立可用性複本。 此複本會使用位於指定 URL 的資料庫鏡像端點,與可用性群組中的其他復本通訊。 此複本支援自動容錯移轉和同步認可的可用性模式。 Version 參數會指定將裝載這個新複本的伺服器實例版本。
範例 2:建立支援手動故障轉移和異步認可的可用性複本
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
此範例會建立可用性複本的記憶體中表示法。 伺服器不會認可任何變更。
第一個命令會取得主伺服器的實例。
第二個命令會建立可用性複本。 此複本會使用位於指定 URL 的資料庫鏡像端點,與可用性群組中的其他復本通訊。 此複本支援手動容錯移轉和非同步認可的可用性模式。 Version 參數會指定將裝載這個新複本的伺服器實例版本。
範例 3:將可用性復本新增至可用性群組
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
此命令會將可用性復本新增至名為 『MainAG』 的現有可用性群組。 此複本支援手動容錯移轉和非同步認可的可用性模式。 在次要角色中,此複本支援讀取存取連線。 此組態可讓您卸除此複本的唯讀處理。
參數
-AccessToken
用來驗證 SQL Server 的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來連線至 SQL Azure DB
或使用 或使用 SQL Azure Managed Instance
Service Principal
或 Managed Identity
。
要使用的參數可以是字串,代表令牌或 PSAccessToken
執行 所傳 Get-AzAccessToken -ResourceUrl https://database.windows.net
回的物件。
這個參數是模組 v22 的新功能。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsTemplate
指出此 Cmdlet 會在記憶體中建立暫存 AvailabilityReplica 物件。 在建立可用性複本之前,請指定此參數來建立可用性群組。 使用 New-SqlAvailabilityGroup Cmdlet 建立可用性群組。 將暫存可用性複本指定為 AvailabilityReplica 參數的值。
如果您指定 AsTemplate,此 Cmdlet 會忽略 InputObject 和 Path 參數的值。
如果您指定此參數,您也必須為 Version 參數指定 SQL Server 版本,或者目前的工作階段必須有實例的作用中連線。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AvailabilityMode
指定複本可用性模式。
您可以指定的值 $Null.
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackupPriority
指定執行備份中複本所需的優先順序。 此參數可接受的值為介於 0 到 100 的整數。 在在線和可用的複本集合中,具有最高優先順序的複本會執行備份。
Type: | Int32 |
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 |
-ConnectionModeInPrimaryRole
指定可用性複本在主要角色中處理連線的方式。
此參數可接受的值為:
- AllowReadWriteConnections。 允許讀取/寫入連線
- AllowAllConnections。 允許所有連線
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Accepted values: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInSecondaryRole
指定可用性複本在次要角色中處理連線的方式。 此參數可接受的值為:
- AllowNoConnections。 不允許連線
- AllowReadIntentConnectionsOnly。 只允許讀取意圖連線
- AllowAllConnections。 允許所有連線
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Accepted values: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
連接到 SQL Server 時要使用的加密類型。
這個值會對應至 Encrypt
Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption
。
在模組的 v22 中,預設值為 Optional
(,以便與 v21) 相容。 在模組 v23+ 中,預設值會是「強制」,這可能會為現有的腳本建立重大變更。
這個參數是模組 v22 的新功能。
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EndpointUrl
指定資料庫鏡像端點的 URL。 此網址是下列形式的 TCP 位址:
TCP://system-address:連接埠
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
指定故障轉移模式。
您可以指定的值 $Null
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/簡短名稱連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。
這個參數是模組 v22 的新功能。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
將可用性群組指定為複本所屬 的可用性群組 物件。
Type: | AvailabilityGroup |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancedReadOnlyRoutingList
指定負載平衡的唯讀路由清單。
路由清單是負載平衡集的清單,接著是複本清單。
例如,傳遞類似的值
@ ('Server1','Server2') ,@ ('Server3') ,@ ('Server4')
表示我們要傳遞 3 個負載平衡集:1 個復本 (Server1 和 Server2) ,2 隻傳遞一個 (Server3 和 Server4,分別) 。
在運行時間,SQL Server 會依序查看所有負載平衡集,直到找到至少可在其中複本上使用的集合,並將其用於負載平衡為止。
因此,在上述範例中,如果 Server1 和 Server2 都無法使用,但 Server3 為 ,SQL Server 會挑選 Server3。
此 Cmdlet 只會設定唯讀路由清單,而且不會檢查指定複本的可用性。
Type: | String[][] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
以下列格式指定可用性複本的名稱:Computer\Instance
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
指定複本所屬可用性群組的路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadonlyRoutingConnectionUrl
指定路由至複本以進行只讀連線時,FQDN) 和埠的完整 (功能變數名稱,如下列範例所示:TCP://DBSERVER8.manufacturing.Contoso.com:7024
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadOnlyRoutingList
指定複本伺服器名稱的已排序列表,代表透過這個可用性複本重新導向唯讀連線時要使用的連接 Director 探查序列。 如果可用性複本是可用性群組目前的主要複本,則此參數適用。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
指出此 Cmdlet 會傳回 Transact-SQL 腳本,以執行此 Cmdlet 執行的工作。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SeedingMode
指定一開始如何植入次要複本。
允許的值:
- 自動。 啟用直接植入。 此方法會透過網路植入次要複本。 此方法不要求您必須在複本上備份和還原主要資料庫的複本。
- 手動。 指定手動植入。 此方法要求您必須在主要複本上建立資料庫的備份,並在次要複本上手動還原該備份。
Type: | AvailabilityReplicaSeedingMode |
Accepted values: | Automatic, Manual |
Position: | Named |
Default value: | Manual |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTimeout
指定在連線失敗之前,等候主要複本與此複本之間回應的時間量,以秒為單位。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設為 $true
(,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
這個參數是模組 v22 中的新功能。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
指定 SQL Server 版本。 如果您指定 AsTemplate 參數,則必須指定版本。 範本物件是在包含此版本的伺服器上,以設計模式建立。 您可以指定整數或字串,如下列範例 (SQL Server 2017) :
- 14
- '14.0.0'
Type: | ServerVersion |
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.AvailabilityGroup
您可以將可用性群組傳遞至此 Cmdlet。
輸出
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
此 Cmdlet 會傳回可用性複本。