次の方法で共有


Switch-SqlAvailabilityGroup

可用性グループからセカンダリ レプリカへのフェールオーバーを開始します。

構文

ByPath (既定)

Switch-SqlAvailabilityGroup
    [[-Path] <String[]>]
    [-AllowDataLoss]
    [-Force]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Switch-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup[]>
    [-AllowDataLoss]
    [-Force]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Switch-SqlAvailabilityGroup コマンドレットは、指定されたセカンダリ レプリカへの可用性グループのフェールオーバーを開始します。 ターゲット セカンダリ レプリカでこのコマンドレットを実行します。 フェールオーバー後、セカンダリ レプリカがプライマリ レプリカになります。

例 1: 可用性グループのフェールオーバー

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"

このコマンドは、可用性グループ MainAG から SecondaryServer\InstanceName という名前のサーバー インスタンスへの手動フェールオーバーを実行します。 このコマンドでは、データの損失は許可されません。 フェールオーバー先のセカンダリ レプリカをホストするサーバー インスタンスで、このコマンドを実行します。

例 2: 可用性グループのフェールオーバーを強制する

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss

このコマンドは、可用性グループ MainAG から SecondaryServer\InstanceName という名前のサーバー インスタンスへの手動フェールオーバーを実行します。 このコマンドは 、AllowDataLoss パラメーターを 指定します。 そのため、フェールオーバーにはデータ損失の可能性があり、コマンドによって確認が求められます。 確認をスキップするには、 Force パラメーターを指定します。

例 3: 可用性グループをフェールオーバーするスクリプトを作成する

PS C:\>Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script

このコマンドは、可用性グループ MainAG から SecondaryServer\InstanceName という名前のサーバー インスタンスへの手動フェールオーバーを実行する Transact-SQL スクリプトを作成します。 このスクリプトでは、データの損失は許可されません。 このコマンドでは、フェールオーバーは発生しません。

パラメーター

-AllowDataLoss

このコマンドレットが、ターゲット セカンダリ レプリカへの強制フェールオーバーを開始することを示します。 データが失われる可能性があります。 Force パラメーターまたは Script パラメーターを指定しない限り、コマンドレットは確認を求めるメッセージを表示します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

ユーザーの確認を求めずにコマンドを強制的に実行します。 このコマンドレットは、 AllowDataLoss パラメーターを指定した場合にのみ確認を求められます。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InputObject

このコマンドレットがフェールオーバーする可用性グループを指定します。

パラメーターのプロパティ

型:

AvailabilityGroup[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

ByObject
配置:2
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Path

このコマンドレットがフェールオーバーする可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

ByPath
配置:2
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Script

このコマンドレットは、このコマンドレットが実行するタスクを実行する Transact-SQL スクリプトを返します。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

可用性グループをこのコマンドレットに渡すことができます。