New-SqlAvailabilityReplica
可用性レプリカを作成します。
構文
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
New-SqlAvailabilityReplica コマンドレットによって可用性レプリカが作成されます。 プライマリ レプリカをホストする SQL Server のインスタンスでこのコマンドレットを実行します。
可用性グループを作成する前に可用性レプリカを作成するには、AsTemplate パラメーターを指定します。 既存の可用性グループにレプリカを追加するには、InputObject または Path パラメーターで可用性グループを指定します。
例
例 1: 可用性レプリカの表現を作成する
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
この例では、可用性レプリカのメモリ内表現を作成します。 変更はサーバーにコミットされません。 このレプリカは、New-SqlAvailabilityGroup の
最初のコマンドは、プライマリ サーバーのインスタンスを取得します。
2 番目のコマンドは、可用性レプリカを作成します。 このレプリカは、指定された URL にあるデータベース ミラーリング エンドポイントを使用して、可用性グループ内の他のレプリカと通信します。 このレプリカでは、自動フェールオーバーと同期コミット可用性モードがサポートされます。 Version パラメーターは、この新しいレプリカをホストするサーバー インスタンスのバージョンを指定します。
例 2: 手動フェールオーバーと非同期コミットをサポートする可用性レプリカを作成する
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
この例では、可用性レプリカのメモリ内表現を作成します。 変更はサーバーにコミットされません。
最初のコマンドは、プライマリ サーバーのインスタンスを取得します。
2 番目のコマンドは、可用性レプリカを作成します。 このレプリカは、指定された URL にあるデータベース ミラーリング エンドポイントを使用して、可用性グループ内の他のレプリカと通信します。 このレプリカでは、手動フェールオーバーと非同期コミット可用性モードがサポートされます。 Version パラメーターは、この新しいレプリカをホストするサーバー インスタンスのバージョンを指定します。
例 3: 可用性グループに可用性レプリカを追加する
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
このコマンドは、'MainAG' という名前の既存の可用性グループに可用性レプリカを追加します。 このレプリカでは、手動フェールオーバーと非同期コミット可用性モードがサポートされます。 セカンダリ ロールでは、このレプリカは読み取りアクセス接続をサポートします。 この構成により、読み取り専用処理をこのレプリカにオフロードできます。
パラメーター
-AccessToken
ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。
これは、たとえば、Service Principal
または Managed Identity
を使用して SQL Azure DB
と SQL Azure Managed Instance
に接続するために使用できます。
使用するパラメーターには、トークンを表す文字列、または Get-AzAccessToken -ResourceUrl https://database.windows.net
を実行して返される PSAccessToken
オブジェクトを指定できます。
このパラメーターは、モジュールの v22 の新機能です。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AsTemplate
このコマンドレットは、AvailabilityReplica オブジェクト
AsTemplate
このパラメーターを指定する場合は、Version パラメーターに SQL Server バージョンも指定する必要があります。また、現在のセッションにはインスタンスへのアクティブな接続が必要です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AvailabilityMode
レプリカ可用性モードを指定します。
$Null.
の値を指定できます。
型: | AvailabilityReplicaAvailabilityMode |
指定可能な値: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-BackupPriority
バックアップを実行する際のレプリカの必要な優先順位を指定します。 このパラメーターに使用できる値は、0 ~ 100 の整数です。 オンラインで使用可能なレプリカのセットのうち、優先度が最も高いレプリカがバックアップを実行します。
型: | 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 |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-FailoverMode
フェールオーバー モードを指定します。
$Null
の値を指定できます。
型: | AvailabilityReplicaFailoverMode |
指定可能な値: | Automatic, Manual, External, Unknown |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-HostNameInCertificate
SQL Server TLS/SSL 証明書の検証に使用するホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。
このパラメーターは、モジュールの v22 の新機能です。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
可用性グループを、レプリカが属する AvailabilityGroup オブジェクトとして指定します。
型: | AvailabilityGroup |
配置: | 2 |
規定値: | 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 |
-Name
可用性レプリカの名前を次の形式で指定します。Computer\Instance
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
レプリカが属する可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。
型: | String |
配置: | 2 |
規定値: | 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 |
規定値: | Manual |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SessionTimeout
接続が失敗するまでのプライマリ レプリカとこのレプリカの間の応答を待機する時間を秒単位で指定します。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TrustServerCertificate
信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。
モジュールの v22 では、既定値は $true
です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。
このパラメーターは、モジュールの v22 の新機能です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Version
SQL Server のバージョンを指定します。 AsTemplate パラメーターを指定する場合は、バージョンを指定する必要があります。 テンプレート オブジェクトは、このバージョンを含むサーバー上のデザイン モードで作成されます。 次の例 (SQL Server 2017) のように、整数または文字列を指定できます。
- 14
- '14.0.0'
型: | ServerVersion |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
可用性グループをこのコマンドレットに渡すことができます。
出力
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
このコマンドレットは可用性レプリカを返します。