Switch-SqlAvailabilityGroup
啟動可用性群組至次要複本的故障轉移。
Syntax
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[[-Path] <String[]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Switch-SqlAvailabilityGroup Cmdlet 會啟動可用性群組至指定次要複本的故障轉移。 在目標次要複本上執行此 Cmdlet。 故障轉移之後,次要複本會變成主要複本。
範例
範例 1:故障轉移可用性群組
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
此命令會對名為SecondaryServer\InstanceName
的伺服器實例執行可用性群組MainAG
的手動故障轉移。
此命令不允許資料遺失。
在裝載要故障轉移之次要複本的伺服器實例上執行此命令。
範例 2:強制可用性群組故障轉移
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss
此命令會對名為SecondaryServer\InstanceName
的伺服器實例執行可用性群組MainAG
的手動故障轉移。
命令會指定 AllowDataLoss 參數。
因此,故障轉移可能會遺失數據,而命令會提示您進行確認。
指定 Force 參數以略過確認。
範例 3:建立腳本以故障轉移可用性群組
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script
此命令會建立 Transact-SQL 腳本,以將可用性群組 MainAG
的手動故障轉移至名為 SecondaryServer\InstanceName
的伺服器實例。
腳本不允許數據遺失。 此命令不會造成故障轉移。
參數
-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 |
-AllowDataLoss
表示此 Cmdlet 會啟動強制故障轉移至目標次要複本。 可能會遺失資料。 除非您指定 Force 或 Script 參數,否則 Cmdlet 會提示您確認。
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 |
-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 |
-Force
強制執行命令而不要求使用者確認。 只有當您指定 AllowDataLoss 參數時,此 Cmdlet 才會提示您確認。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
用於驗證 SQL Server TLS/SSL 憑證的主機名稱。 如果您的 SQL Server 實例已啟用強制加密,而且您想要使用主機名/shortname 連線到實例,則必須傳遞此參數。 如果省略此參數,則必須將完整域名 (FQDN) 傳遞至 -ServerInstance,才能連線到啟用強制加密的 SQL Server 實例。
這個參數是模組 v22 中的新功能。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定此 Cmdlet 故障轉移的可用性群組。
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定此 Cmdlet 故障轉移之可用性群組的路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
Type: | String[] |
Position: | 1 |
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 |
-TrustServerCertificate
指出通道是否會在略過憑證鏈結以驗證信任時加密。
在模組的 v22 中,預設為 $true
(,以便與 v21) 相容。 在模組 v23+ 中,預設值會是 『$false』,這可能會為現有的腳本建立重大變更。
這個參數是模組 v22 中的新功能。
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.AvailabilityGroup[]
您可以將可用性群組傳遞至此 Cmdlet。