Add-SqlAvailabilityDatabase
プライマリ データベースを可用性グループに追加するか、セカンダリ データベースを可用性グループに参加させます。
構文
Add-SqlAvailabilityDatabase
-Database <String[]>
[[-Path] <String[]>]
[-Script]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-SqlAvailabilityDatabase
-Database <String[]>
[-InputObject] <AvailabilityGroup[]>
[-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 |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Database
ユーザー データベースの配列を指定します。 このコマンドレットは、このパラメーターで指定されたデータベースを可用性グループに追加または結合します。 指定するデータベースは、SQL Serverのローカル インスタンスに存在する必要があります。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-InputObject
このコマンドレットがデータベースを追加または結合する AvailabilityGroup オブジェクトとして可用性グループを指定します。
型: | AvailabilityGroup[] |
配置: | 2 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Path
このコマンドレットがデータベースを追加または結合する可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。
型: | String[] |
配置: | 2 |
規定値: | 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.AvailabilityGroup