Set-SqlAvailabilityReplica

可用性レプリカの設定を設定します。

構文

Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [-InputObject] <AvailabilityReplica>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

Set-SqlAvailabilityReplica コマンドレットは、可用性レプリカのさまざまなプロパティを設定または変更します。 プライマリ レプリカをホストするサーバー インスタンスでこのコマンドレットを実行します。

例 1: レプリカ可用性モードと自動フェールオーバーを変更する

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

このコマンドは、可用性モードを使用し、automatic failoverをサポートするために、MainAG という名前の可用性グループ synchronous-commitReplica02 という名前のレプリカを変更します。

例 2: 強制手動フェールオーバーをサポートするようにレプリカを変更する

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

このコマンドは、MainAG という名前の可用性グループの Replica02 という名前のレプリカを、asynchronous-commit 可用性モードを使用し、forced manual failoverのみをサポートするように変更します。これにより、データ損失が発生する可能性があります。

例 3: セカンダリ ロールのすべての接続を許可する

PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

このコマンドは、セカンダリ ロールのすべての接続を許可するように可用性グループ MainAG 内のレプリカ Replica02 を変更します。 これにより、読み取り専用のデータ処理ワークロードをセカンダリ レプリカにオフロードできます。

例 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: プロバイダー内の場所に場所を変更します。

4 番目のコマンドは、プライマリ レプリカに読み取り専用ルーティング URL を割り当てます。 次に、プライマリ レプリカの読み取り専用ルーティング リストを設定します。

例 5: バックアップの優先順位を変更する

PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

このコマンドは、可用性レプリカ Replica02 のバックアップ優先度を 60に設定します。 この優先順位は、プライマリ レプリカをホストするサーバー インスタンスによって使用され、可用性グループ内のデータベースで自動バックアップ要求を処理するレプリカを決定します。 優先順位が最も高いレプリカが選択されます。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。

これは、たとえば、Service Principal または Managed Identityを使用して SQL Azure DBSQL Azure Managed Instance に接続するために使用できます。

使用するパラメーターには、トークンを表す文字列、または Get-AzAccessToken -ResourceUrl https://database.windows.netを実行して返される PSAccessToken オブジェクトを指定できます。

このパラメーターは、モジュールの v22 の新機能です。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AvailabilityMode

レプリカ可用性モードを指定します。

$Nullの値を指定できます。

型:AvailabilityReplicaAvailabilityMode
指定可能な値:AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BackupPriority

バックアップを実行する際のレプリカの必要な優先順位を指定します。 このパラメーターに使用できる値は、0 ~ 100 の整数です。 オンラインで使用可能なレプリカのセットのうち、優先度が最も高いレプリカがバックアップを実行します。

0 の値は、レプリカが候補ではないことを示します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

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

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ConnectionModeInPrimaryRole

プライマリ ロールで可用性レプリカが接続を処理する方法を指定します。 このパラメーターに使用できる値は次のとおりです。

  • AllowReadWriteConnections。 読み取り/書き込み接続を許可します。
  • AllowAllConnections。 すべての接続を許可します。
型:AvailabilityReplicaConnectionModeInPrimaryRole
指定可能な値:AllowAllConnections, AllowReadWriteConnections, Unknown
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ConnectionModeInSecondaryRole

セカンダリ ロールで可用性レプリカが接続を処理する方法を指定します。 このパラメーターに使用できる値は次のとおりです。

  • AllowNoConnections。 接続を禁止します。
  • AllowReadIntentConnectionsOnly。 読み取りインテント接続のみを許可します。
  • AllowAllConnections。 すべての接続を許可します。
型:AvailabilityReplicaConnectionModeInSecondaryRole
指定可能な値:AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Encrypt

SQL Server に接続するときに使用する暗号化の種類。

この値は、Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの Encrypt プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "必須" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
指定可能な値:Mandatory, Optional, Strict
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-EndpointUrl

データベース ミラーリング エンドポイントの URL を指定します。 この URL は、次の形式の TCP アドレスです: TCP://system-address:port

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FailoverMode

フェールオーバー モードを指定します。

$Nullの値を指定できます。

型:AvailabilityReplicaFailoverMode
指定可能な値:Automatic, Manual, External, Unknown
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使用するホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

可用性グループを、レプリカが属する AvailabilityGroup オブジェクトとして指定します。

型:AvailabilityReplica
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-LoadBalancedReadOnlyRoutingList

負荷分散された読み取り専用ルーティング リストを指定します。

ルーティング リストは負荷分散セットの一覧であり、レプリカの一覧です。

たとえば、次のような値を渡します。

@('Server1','Server2'),@('Server3'),@('Server4')

つまり、負荷分散セットが 3 つ渡されていることを意味します。1 つは 2 つのレプリカ (Server1 と Server2) を持ち、2 は 1 つだけ (それぞれ Server3 と Server4) です。

実行時に、SQL Server は、少なくともその中のレプリカで使用可能なセットが見つかるまで、すべての負荷分散セットを順番に調べ、負荷分散に使用します。

そのため、上記の例では、Server1 と Server2 の両方が使用できないが、Server3 が選択されている場合、SQL Server は Server3 を選択します。

このコマンドレットは、読み取り専用ルーティング リストのみを設定し、指定されたレプリカの可用性を確認しません。

型:String[][]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

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

型:String
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProgressAction

スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。

型:ActionPreference
Aliases:proga
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ReadonlyRoutingConnectionUrl

次の例のように、読み取り専用接続用にレプリカにルーティングするときに使用する完全修飾ドメイン名 (FQDN) とポートを指定します TCP://DBSERVER8.manufacturing.Contoso.com:7024

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ReadOnlyRoutingList

この可用性レプリカを介して読み取り専用接続をリダイレクトするときに使用する接続ディレクターのプローブ シーケンスを表すレプリカ サーバー名の順序付きリストを指定します。 このパラメーターは、可用性レプリカが可用性グループの現在のプライマリ レプリカである場合に適用されます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Script

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SeedingMode

セカンダリ レプリカを最初にシード処理する方法を指定します。

使用できる値:

  • 自動。 直接シード処理を有効にします。 このメソッドは、ネットワーク経由でセカンダリ レプリカをシード処理します。 この方法では、レプリカ上のプライマリ データベースのコピーをバックアップおよび復元する必要はありません。
  • 手動。 手動シード処理を指定します。 この方法では、プライマリ レプリカにデータベースのバックアップを作成し、セカンダリ レプリカでそのバックアップを手動で復元する必要があります。
型:AvailabilityReplicaSeedingMode
指定可能な値:Automatic, Manual
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SessionTimeout

接続が失敗するまでのプライマリ レプリカとこのレプリカの間の応答を待機する時間を秒単位で指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TrustServerCertificate

信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

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

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

Microsoft.SqlServer.Management.Smo.AvailabilityReplica