Add-SqlAvailabilityDatabase
將主資料庫加入可用性群組,或將輔助資料庫聯結至可用性群組。
語法
ByPath (預設值)
Add-SqlAvailabilityDatabase
[[-Path] <String[]>]
-Database <String[]>
[-Script]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Add-SqlAvailabilityDatabase
[-InputObject] <AvailabilityGroup[]>
-Database <String[]>
[-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 |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Database
指定使用者資料庫的陣列。 此 Cmdlet 會將此參數指定的資料庫加入或聯結至可用性群組。 您指定的資料庫必須位於 SQL Server 的本機實例上。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-InputObject
指定可用性群組做為 AvailabilityGroup 物件,此 Cmdlet 會加入或聯結資料庫。
參數屬性
| 類型: | AvailabilityGroup[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByObject
| Position: | 2 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定這個 Cmdlet 加入或聯結資料庫的可用性群組路徑。 如果您未指定此參數,此 Cmdlet 會使用目前的工作位置。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ByPath
| Position: | 2 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Script
指出此 Cmdlet 會傳回執行此 Cmdlet 所執行工作的 Transact-SQL 腳本。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。