Add-SqlAvailabilityDatabase
將主資料庫加入可用性群組,或將輔助資料庫聯結至可用性群組。
語法
Add-SqlAvailabilityDatabase
-Database <String[]>
[[-Path] <String[]>]
[-Script]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-SqlAvailabilityDatabase
-Database <String[]>
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Add-SqlAvailabilityDatabase Cmdlet 會將主資料庫新增至可用性群組,或將輔助資料庫聯結至可用性群組。 InputObject 或 Path 參數會指定可用性群組。 資料庫只能屬於一個可用性群組。
若要將資料庫新增至可用性群組,請在裝載主要複本的伺服器實例上執行此 Cmdlet。 指定一或多個本機用戶資料庫。
若要將輔助資料庫加入可用性群組,請在裝載次要復本的伺服器實例上手動準備輔助資料庫。 然後在裝載次要複本的伺服器實例上執行此 Cmdlet。
範例
範例 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 的輔助資料庫聯結至裝載次要複本之其中一個伺服器實例上的可用性群組 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"
此範例會從裝載可用性群組主要複本之伺服器實例上的資料庫準備輔助資料庫。 它會將資料庫新增至可用性群組作為主資料庫。 最後,它會將輔助資料庫聯結至可用性群組。
前四個命令會將路徑儲存在變數中,以供稍後在範例中使用。 命令會將值指派給$DatabaseBackupFile、$LogBackupFile、$AGPrimaryPath和$AGSecondaryPath變數。
第五個命令會將名為 Database16 的資料庫備份至$DatabaseBackupFile中的位置。
第六個命令會將主伺服器上的 Database16 記錄檔備份至$LogBackupFile中的位置。
第七個命令會在輔助伺服器上還原 Database16 的資料庫備份。
第八個命令會在輔助伺服器上還原 Database16 的記錄檔。
第九個命令會將資料庫新增至主伺服器上的可用性群組。
最後一個命令會將該複本的輔助資料庫聯結至可用性群組。 如果您有多個次要複本,請還原並聯結每個複本的輔助資料庫。
範例 4:建立腳本以將資料庫新增至可用性群組
PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script
此命令會建立 Transact-SQL 腳本,將資料庫 Database16 新增至可用性群組 MainAG。
參數
-Confirm
在執行 Cmdlet 前提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Database
指定使用者資料庫的陣列。 此 Cmdlet 會將此參數指定的資料庫加入或聯結至可用性群組。 您指定的資料庫必須位於 SQL Server 的本機實例上。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-InputObject
指定可用性群組做為 AvailabilityGroup 物件,此 Cmdlet 會加入或聯結資料庫。
類型: | AvailabilityGroup[] |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Path
指定這個 Cmdlet 加入或聯結資料庫的可用性群組路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
類型: | String[] |
Position: | 2 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Script
指出此 Cmdlet 會傳回 Transact-SQL 腳本,以執行此 Cmdlet 執行的工作。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
Microsoft.SqlServer.Management.Smo.AvailabilityGroup