次の方法で共有


Add-SqlAvailabilityDatabase

可用性グループにプライマリ データベースを追加するか、セカンダリ データベースを可用性グループに参加させます。

構文

ByPath (既定)

Add-SqlAvailabilityDatabase
    [[-Path] <String[]>]
    -Database <String[]>
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Add-SqlAvailabilityDatabase
    [-InputObject] <AvailabilityGroup[]>
    -Database <String[]>
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Add-SqlAvailabilityDatabase コマンドレットは、可用性グループにプライマリ データベースを追加するか、セカンダリ データベースを可用性グループに参加させます。 InputObject または Path パラメーターは、可用性グループを指定します。 データベースは、1 つの可用性グループにのみ属できます。

可用性グループにデータベースを追加するには、プライマリ レプリカをホストするサーバー インスタンスでこのコマンドレットを実行します。 1 つ以上のローカル ユーザー データベースを指定します。

セカンダリ データベースを可用性グループに参加させるために、セカンダリ レプリカをホストするサーバー インスタンスでセカンダリ データベースを手動で準備します。 次に、セカンダリ レプリカをホストするサーバー インスタンスでこのコマンドレットを実行します。

例 1: 可用性グループにデータベースを追加する

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

このコマンドは、データベース Database16 を可用性グループ MainAG に追加します。 可用性グループのプライマリ サーバー インスタンスでこのコマンドを実行します。 このコマンドは、データ同期のためにセカンダリ データベースを準備しません。

例 2: データベースを可用性グループに参加させる

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

このコマンドは、Database16 という名前のセカンダリ データベースを、セカンダリ レプリカをホストするサーバー インスタンスの 1 つの可用性グループ MainAG に結合します。

例 3: データベースを追加し、セカンダリ データベースを可用性グループに参加させる

PS C:\> $DatabaseBackupFile = "\\share\backups\Database16.bak"
PS C:\> $LogBackupFile = "\\share\backups\Database16.trn"
PS C:\> $AGPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> $MyAGSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction Log
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction Log -NoRecovery
PS C:\> Add-SqlAvailabilityDatabase -Path $AGPrimaryPath -Database 'Database16'
PS C:\> Add-SqlAvailabilityDatabase -Path $AGSecondaryPath -Database "Database16"

この例では、可用性グループのプライマリ レプリカをホストするサーバー インスタンス上のデータベースからセカンダリ データベースを準備します。 プライマリ データベースとして可用性グループにデータベースを追加します。 最後に、セカンダリ データベースを可用性グループに結合します。

最初の 4 つのコマンドは、この例の後半で使用するために変数にパスを格納します。 コマンドは、$DatabaseBackupFile、$LogBackupFile、$AGPrimaryPath、および$AGSecondaryPath変数に値を割り当てます。

5 番目のコマンドは、プライマリ サーバー上にある Database16 という名前のデータベースを、$DatabaseBackupFile内の場所にバックアップします。

6 番目のコマンドは、プライマリ サーバー上の Database16 のログ ファイルを$LogBackupFileの場所にバックアップします。

7 番目のコマンドは、セカンダリ サーバー上の Database16 のデータベース バックアップを復元します。

8 番目のコマンドは、セカンダリ サーバー上の Database16 のログ ファイルを復元します。

9 番目のコマンドは、プライマリ サーバーの可用性グループにデータベースを追加します。

最後のコマンドは、そのレプリカのセカンダリ データベースを可用性グループに結合します。 複数のセカンダリ レプリカがある場合は、それぞれのセカンダリ データベースを復元して結合します。

例 4: 可用性グループにデータベースを追加するスクリプトを作成する

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script

このコマンドは、データベース Database16 を可用性グループ MainAG に追加する Transact-SQL スクリプトを作成します。

パラメーター

-Confirm

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

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

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

パラメーター セット

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

-Database

ユーザー データベースの配列を指定します。 このコマンドレットは、このパラメーターが指定するデータベースを可用性グループに追加または結合します。 指定するデータベースは、SQL Server のローカル インスタンスに存在する必要があります。

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

型:

String[]

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

パラメーター セット

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

-InputObject

このコマンドレットがデータベースを追加または結合する 可用性グループを AvailabilityGroup オブジェクトとして指定します。

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

型:

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