New-SqlAvailabilityGroup

可用性グループを作成します。

構文

New-SqlAvailabilityGroup
   -AvailabilityReplica <AvailabilityReplica[]>
   [-Database <String[]>]
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-BasicAvailabilityGroup]
   [-DatabaseHealthTrigger]
   [-DtcSupportEnabled]
   [-Name] <String>
   [[-Path] <String>]
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-SqlAvailabilityGroup
   -AvailabilityReplica <AvailabilityReplica[]>
   [-Database <String[]>]
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-BasicAvailabilityGroup]
   [-DatabaseHealthTrigger]
   [-DtcSupportEnabled]
   [-Name] <String>
   [-InputObject] <Server>
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

New-SqlAvailabilityGroup コマンドレットは、AlwaysOn 可用性グループに可用性グループを作成します。 InputObject または Path パラメーターは、初期プライマリ レプリカをホストするサーバーを指定します。

例 1: 可用性グループを作成する

PS C:\> $PrimaryServer = Get-Item "SQLSERVER:\SQL\PrimaryServer\Instance22"
PS C:\> $SecondaryServer = Get-Item "SQLSERVER:\SQL\SecondaryServer\Instance22"
PS C:\> $PrimaryReplica = New-SqlAvailabilityReplica -Name "PrimaryServer\Instance22" -EndpointUrl "TCP://PrimaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($PrimaryServer.Version)
PS C:\> $SecondaryReplica = New-SqlAvailabilityReplica -Name "SecondaryServer\Instance22" -EndpointUrl "TCP://SecondaryServer.domain:5022" -FailoverMode "Automatic" -AvailabilityMode "SynchronousCommit" -AsTemplate -Version ($SecondaryServer.Version) 
PS C:\> New-SqlAvailabilityGroup -InputObject $PrimaryServer -Name "MainAG" -AvailabilityReplica ($PrimaryReplica, $SecondaryReplica) -Database @("Database01","Database02")

最初のコマンドは、プライマリ サーバー上の SQL Server のインスタンスを取得し、それを $PrimaryServer 変数に格納します。

2 番目のコマンドは、セカンダリ サーバー上のSQL Serverのインスタンスを取得し、それを $SecondaryServer 変数に格納します。

3 番目のコマンドは、 New-SqlAvailabilityReplica コマンドレットを使用してプライマリ サーバー インスタンスを含むレプリカを作成し、それを $PrimaryReplica 変数に格納します。 コマンドは、$PrimaryServer の Version プロパティを使用して、サーバー インスタンスのバージョンを指定します。

4 番目のコマンドは、 New-SqlAvailabilityReplica を使用してセカンダリ サーバー インスタンスを含むレプリカを作成し、それを $SecondaryReplica 変数に格納します。 コマンドは、$SecondaryServer の Version プロパティを使用して、サーバー インスタンスのバージョンを指定します。

最後のコマンドでは、可用性グループが作成されます。 名前、プライマリ サーバー、レプリカ、その他の情報を指定します。

パラメーター

-AutomatedBackupPreference

可用性グループの自動バックアップ設定を指定します。 このパラメーターの有効値は、次のとおりです。

  • プライマリ。 バックアップが常にプライマリ レプリカで実行されることを指定します。 このオプションでは、差分バックアップなど、セカンダリ レプリカでバックアップを実行するときに使用できない機能の使用がサポートされています。
  • SecondaryOnly。 プライマリ レプリカでバックアップが実行されないように指定します。 プライマリ レプリカがオンラインの唯一のレプリカである場合、バックアップは実行されません。
  • セカンダリ。 プライマリ レプリカがオンラインの唯一のレプリカでない限り、セカンダリ レプリカでバックアップが行われることを指定します。 その後、プライマリ レプリカでバックアップが実行されます。
  • [なし] : バックアップを実行するレプリカを決定するときに、プライマリまたはセカンダリの状態が考慮されないことを指定します。 代わりに、バックアップの優先度とオンライン状態によって、バックアップを実行するレプリカが決まります。
型:AvailabilityGroupAutomatedBackupPreference
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AvailabilityReplica

このコマンドレットが可用性グループに含める可用性レプリカの配列を指定します。 AvailabilityReplica オブジェクトを取得するには、New-SqlAvailabilityReplica コマンドレットを使用します。 AsTemplate パラメーターを指定します。

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

-BasicAvailabilityGroup

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

-Confirm

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

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

-Database

ローカルの読み取り/書き込みユーザー データベースの配列を指定します。 これらのデータベースは完全復旧モデルを使用する必要があり、AUTO_CLOSEを使用してはなりません。 これらのデータベースは他の可用性グループに属すことができず、データベース ミラーリング用に構成できません。 このパラメーターの値を指定する必要があります。

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

-DatabaseHealthTrigger

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

-DtcSupportEnabled

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

-FailureConditionLevel

可用性グループの自動フェールオーバー動作を指定します。 このパラメーターの有効値は、次のとおりです。

  • OnServerDown。 SQL Server サービスが停止した場合は、フェールオーバーまたは再起動します。
  • OnServerUnresponsive。 より低い値の条件が満たされた場合、さらにSQL Server サービスがクラスターに接続されていて HealthCheckTimeout しきい値を超えた場合、または現在プライマリ ロールにある可用性レプリカが失敗状態になっている場合は、フェールオーバーまたは再起動します。
  • OnCriticalServerError。 より小さい値の条件が満たされた場合、さらに、メモリ不足状態、重大な書き込みアクセス違反、またはダンプが多すぎる内部重大なサーバー エラーが発生した場合は、フェールオーバーまたは再起動します。
  • OnModerateServerError。 より低い値の条件が満たされた場合はフェールオーバーまたは再起動し、中程度のサーバー エラーが発生した場合は再起動します。これには、メモリ不足の永続的な状態が含まれます。
  • OnAnyQualifiedFailureConditions。 より低い値の条件が満たされた場合はフェールオーバーまたは再起動します。さらに、エンジン ワーカー スレッドの枯渇や解決不可能なデッドロックが検出された状態を含む、条件を満たすエラー条件が発生した場合は再起動します。
型:AvailabilityGroupFailureConditionLevel
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HealthCheckTimeout

AlwaysOn 可用性グループが応答しないサーバーを異常と宣言するまでの時間の長さをミリ秒単位で指定します。

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

-InputObject

このコマンドレットによって作成される可用性グループのプライマリ レプリカをホストするSQL Serverのインスタンスを指定します。

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

-Name

このコマンドレットによって作成される可用性グループの名前を指定します。

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

-Path

このコマンドレットによって作成される可用性グループの初期プライマリ レプリカをホストするSQL Serverのインスタンスのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。 値を指定する場合、パスは現在存在している必要があります。

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

-Script

このコマンドレットによって、このコマンドレットが実行するタスクを実行する Transact-SQL スクリプトが返されることを示します。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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

入力

Microsoft.SqlServer.Management.Smo.Server

サーバー インスタンスをこのコマンドレットに渡すことができます。

出力

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

このコマンドレットは、可用性グループを返します。