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>]
[-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>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Set-SqlAvailabilityReplica コマンドレットは、可用性レプリカのさまざまなプロパティを設定または変更します。 プライマリ レプリカをホストするサーバー インスタンスでこのコマンドレットを実行します。
例
例 1: レプリカの可用性モードと自動フェールオーバーを変更する
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
このコマンドは、 という名前の可用性グループMainAG
内の という名前Replica02
のレプリカを、可用性モードを使用synchronous-commit
し、 をサポートautomatic failover
するように変更します。
例 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の認証に使用されるアクセス トークン。
これは、たとえば、 または 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 |
-AvailabilityMode
レプリカの可用性モードを指定します。
の値 $Null
を指定できます。
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackupPriority
バックアップを実行する際のレプリカの必要な優先度を指定します。 このパラメーターに使用できる値は、0 ~ 100 の整数です。 オンラインで使用可能なレプリカのセットのうち、優先度が最も高いレプリカがバックアップを実行します。
0 の値は、レプリカが候補ではないことを示します。
Type: | Int32 |
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 |
-ConnectionModeInPrimaryRole
プライマリ ロールで可用性レプリカが接続を処理する方法を指定します。 このパラメーターの有効値は、次のとおりです。
- AllowReadWriteConnections。 読み取り/書き込み接続を許可します。
- AllowAllConnections。 すべての接続を許可します。
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Accepted values: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInSecondaryRole
セカンダリ ロールの場合に可用性レプリカが接続を処理する方法を指定します。 このパラメーターの有効値は、次のとおりです。
- AllowNoConnections。 接続を禁止します。
- AllowReadIntentConnectionsOnly。 読み取りインテント接続のみを許可します。
- AllowAllConnections。 すべての接続を許可します。
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Accepted values: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
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 |
-EndpointUrl
データベース ミラーリング エンドポイントの URL を指定します。
この URL は、次の形式の TCP アドレスです。 TCP://system-address:port
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
フェールオーバー モードを指定します。
の値 $Null
を指定できます。
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
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
可用性グループを、レプリカが属する AvailabilityGroup オブジェクトとして指定します。
Type: | AvailabilityReplica |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancedReadOnlyRoutingList
負荷分散された読み取り専用ルーティング リストを指定します。
ルーティング リストは負荷分散セットの一覧であり、レプリカの一覧です。
たとえば、 のような値を渡すとします。
@('Server1','Server2'),@('Server3'),@('Server4')
は、3 つの負荷分散セットを渡すことを意味します。1 つは 2 つのレプリカ (Server1 と Server2) で、2 つは 1 つだけ (Server3 と Server4) です。
実行時に、SQL Serverは、少なくともその中のレプリカで使用可能なセットが見つかるまで、すべての負荷分散セットを順番に確認し、負荷分散に使用します。
したがって、上記の例では、Server1 と Server2 の両方が使用できないが、Server3 がである場合、SQL Serverは Server3 を選択します。
このコマンドレットは、読み取り専用ルーティング リストのみを設定し、指定したレプリカの可用性にチェックしません。
Type: | String[][] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
レプリカが属する可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadonlyRoutingConnectionUrl
次の例のように、読み取り専用接続用にレプリカにルーティングするときに使用する完全修飾ドメイン名 (FQDN) とポートを指定します。 TCP://DBSERVER8.manufacturing.Contoso.com:7024
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadOnlyRoutingList
この可用性レプリカを介して読み取り専用接続をリダイレクトするときに接続ディレクターが使用するプローブ シーケンスを表すレプリカ サーバー名の順序付きリストを指定します。 このパラメーターは、可用性レプリカが可用性グループの現在のプライマリ レプリカである場合に適用されます。
Type: | String[] |
Position: | Named |
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 |
-SeedingMode
セカンダリ レプリカの初回シード処理方法を指定します。
使用できる値は以下の通りです。
- 自動。 直接シード処理を有効にします。 この方法では、ネットワーク全体でセカンダリ レプリカがシード処理されます。 この方法では、レプリカでプライマリ データベースのコピーをバックアップしたり、復元したりする必要がありません。
- 手動。 手動シード処理を指定します。 この方法では、プライマリ レプリカでデータベースのバックアップを作成し、セカンダリ レプリカでそのバックアップを手動で復元する必要があります。
Type: | AvailabilityReplicaSeedingMode |
Accepted values: | Automatic, Manual |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTimeout
接続が失敗するまでのプライマリ レプリカとこのレプリカの間の応答を待機する時間を秒単位で指定します。
Type: | Int32 |
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.AvailabilityReplica