Set-SqlAvailabilityReplica
設定可用性復本上的設定。
語法
ByPath (預設值)
Set-SqlAvailabilityReplica
[[-Path] <String>]
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Set-SqlAvailabilityReplica
[-InputObject] <AvailabilityReplica>
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Set-SqlAvailabilityReplica Cmdlet 會設定或修改可用性複本的各種屬性。 在裝載主要複本的伺服器實例上執行此 Cmdlet。
範例
範例 1:修改複本可用性模式和自動故障轉移
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
這個指令會修改名為 的可用性群組中名為 Replica02MainAG 的複本,以使用 synchronous-commit 可用性模式並支援 automatic failover。
範例 2:修改複本以支持強制手動故障轉移
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
此命令會修改名為的可用性群組中名為 Replica02MainAG 的複本,以使用 asynchronous-commit 可用性模式,並且只 forced manual failover支援 ,這可能會導致數據遺失。
範例 3:允許次要角色中的所有連線
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
此命令會修改可用性群組Replica02中的複MainAG本,以允許次要角色中的所有連線。
這可讓您將唯讀數據處理工作負載卸除至次要複本。
範例 4:設定主要複本和次要複本以進行唯讀路由
PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica
第一個命令會將位置變更為 SQLSERVER: 提供者中的位置。
第四個命令會將唯讀路由URL指派給主要複本。 然後,它會在主要複本上設定唯讀路由清單。
範例 5:修改備份優先順序
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
這個指令會將可用性複 Replica02 本的備份優先順序設定為 60。
裝載主要複本的伺服器實例會使用此優先順序,以決定哪些複本應該在可用性群組中的資料庫上服務自動備份要求。 已選擇優先順序最高的複本。
參數
-AccessToken
用來向 SQL Server 驗證的存取令牌,作為使用者/密碼或 Windows 驗證的替代方案。
例如,這可用來連線到 SQL Azure DB 或 SQL Azure Managed Instance 或 。 Service PrincipalManaged Identity
要使用的參數可以是字串,表示令牌或 PSAccessToken 物件,如執行 Get-AzAccessToken -ResourceUrl https://database.windows.net所傳回。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | PSObject |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-AvailabilityMode
指定複本可用性模式。
您可以指定的值 $Null。
參數屬性
| 類型: | AvailabilityReplicaAvailabilityMode |
| 預設值: | None |
| 接受的值: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-BackupPriority
指定執行備份中複本所需的優先權。 此參數可接受的值為從 0 到 100 的整數。 在在線和可用的複本集合中,具有最高優先順序的複本會執行備份。
值為零 (0) 表示複本不是候選複本。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ConnectionModeInPrimaryRole
指定可用性複本在主要角色中處理連線的方式。 此參數可接受的值為:
- AllowReadWriteConnections。 允許讀取/寫入連線。
- AllowAllConnections。 允許所有連線。
參數屬性
| 類型: | AvailabilityReplicaConnectionModeInPrimaryRole |
| 預設值: | None |
| 接受的值: | AllowAllConnections, AllowReadWriteConnections, Unknown |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ConnectionModeInSecondaryRole
指定可用性複本在次要角色中處理連線的方式。 此參數可接受的值為:
- AllowNoConnections。 不允許連線。
- AllowReadIntentConnectionsOnly。 只允許讀取意圖連線。
- AllowAllConnections。 允許所有連線。
參數屬性
| 類型: | AvailabilityReplicaConnectionModeInSecondaryRole |
| 預設值: | None |
| 接受的值: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Encrypt
線上到 SQL Server 時要使用的加密類型。
此值會對應至 Encrypt Microsoft.Data.SqlClient 驅動程式之 SqlConnection 物件上的 屬性 SqlConnectionEncryptOption 。
在模組的 v22 中,預設值為 Optional (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 「強制」,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | String |
| 預設值: | None |
| 接受的值: | Mandatory, Optional, Strict |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-EndpointUrl
指定資料庫鏡像端點的 URL。
此網址是下列格式的 TCP 位址: TCP://system-address:port
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-FailoverMode
指定故障轉移模式。
您可以指定的值 $Null。
參數屬性
| 類型: | AvailabilityReplicaFailoverMode |
| 預設值: | None |
| 接受的值: | Automatic, Manual, External, Unknown |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-HostNameInCertificate
用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整功能變數名稱 (FQDN) 傳遞至 -ServerInstance 才能連線到啟用強制加密的 SQL Server 實例。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-InputObject
將可用性群組指定為複本所屬的 AvailabilityGroup 物件。
參數屬性
| 類型: | AvailabilityReplica |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByObject
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-LoadBalancedReadOnlyRoutingList
指定負載平衡唯讀路由清單。
路由清單是負載平衡集的清單,接著是複本清單。
例如,傳遞類似的值
@('Server1','Server2'),@('Server3'),@('Server4')
表示我們正在傳遞 3 個負載平衡集:1 個複本 (Server1 和 Server2) 和 2 只傳遞一個 (Server3 和 Server4) 。
在運行時間,SQL Server 會依序查看所有負載平衡集合,直到找到至少可在其中複本上使用的集合,並將其用於負載平衡為止。
因此,在上述範例中,如果 Server1 和 Server2 都無法使用,但 Server3 為 ,SQL Server 會挑選 Server3。
此 Cmdlet 只會設定唯讀路由清單,而且不會檢查指定複本可用性。
參數屬性
| 類型: | String[][] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定複本所屬可用性群組的路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByPath
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ReadonlyRoutingConnectionUrl
指定路由至複本以進行唯讀連線時要使用的完整功能變數名稱 (FQDN) 和埠,如下列範例所示: TCP://DBSERVER8.manufacturing.Contoso.com:7024
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ReadOnlyRoutingList
指定複本伺服器名稱的排序列表,此列表代表透過此可用性複本重新導向只讀連線時要使用的連接控制器探查順序。 如果可用性複本是可用性群組的目前主要複本,則適用此參數。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Script
指出此 Cmdlet 會傳回執行此 Cmdlet 所執行工作的 Transact-SQL 腳本。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SeedingMode
指定一開始如何植入次要複本。
允許的值:
- 自動: 啟用直接植入。 此方法會透過網路植入次要複本。 此方法不需要您在復本上備份和還原主資料庫複本。
- 手動。 指定手動植入。 此方法要求您必須在主要複本上建立資料庫的備份,並在次要複本上手動還原該備份。
參數屬性
| 類型: | AvailabilityReplicaSeedingMode |
| 預設值: | None |
| 接受的值: | Automatic, Manual |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SessionTimeout
指定在連線失敗之前,等候主要複本與此複本之間回應的時間量,以秒為單位。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設值為 $true (為了與 v21 相容)。 在模組的 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
此參數是模組 v22 的新功能。
參數屬性
| 類型: | 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。