Switch-SqlAvailabilityGroup
セカンダリ レプリカへの可用性グループのフェールオーバーを開始します。
構文
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>]
説明
Switch-SqlAvailabilityGroup コマンドレットは、指定されたセカンダリ レプリカへの可用性グループのフェールオーバーを開始します。 ターゲット セカンダリ レプリカでこのコマンドレットを実行します。 フェールオーバー後、セカンダリ レプリカがプライマリ レプリカになります。
例
例 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
このコマンドは、 という名前SecondaryServer\InstanceName
のサーバー インスタンスへの可用性グループMainAG
の手動フェールオーバーを実行する Transact-SQL スクリプトを作成します。
このスクリプトでは、データの損失は許可されません。 コマンドによってフェールオーバーが発生することはありません。
パラメーター
-AccessToken
ユーザー/パスワードまたは Windows 認証の代わりに、SQL Serverの認証に使用されるアクセス トークン。
これは、たとえば、 または Managed Identity
に接続SQL Azure DB
して SQL Azure Managed Instance
使用するために使用Service Principal
できます。
使用するパラメーターには、 を実行Get-AzAccessToken -ResourceUrl https://database.windows.net
して返されるトークンまたはオブジェクトをPSAccessToken
表す文字列を指定できます。
このパラメーターは、モジュールの v22 の新機能です。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
このコマンドレットが、ターゲット セカンダリ レプリカへの強制フェールオーバーを開始することを示します。 データが失われる可能性があります。 Force パラメーターまたは Script パラメーターを指定しない限り、コマンドレットは確認を求めるメッセージを表示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
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 パラメーターを指定した場合にのみ確認を求められます。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
SQL Server TLS/SSL 証明書の検証に使われるホスト名。 SQL Server インスタンスが Force Encryption に対して有効になっており、hostname/shortname を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっているSQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。
このパラメーターは、モジュールの v22 の新機能です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
このコマンドレットがフェールオーバーする可用性グループを指定します。
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
このコマンドレットがフェールオーバーする可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
このコマンドレットによって、このコマンドレットが実行するタスクを実行する Transact-SQL スクリプトが返されることを示します。
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
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
可用性グループをこのコマンドレットに渡すことができます。