本主題描述如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 2014 中的 PowerShell,將資料庫新增至 AlwaysOn 可用性群組。
開始之前:
若要將資料庫新增至可用性群組,可以使用:
開始之前
必要條件和限制
您必須連接到裝載主複本的伺服器執行個體。
資料庫必須位於裝載主要複本的伺服器實例上,並符合可用性資料庫的必要條件和限制。 如需詳細資訊,請參閱 AlwaysOn 可用性群組的必要條件、限制和建議(SQL Server)。
安全
權限
需要有對可用性群組的 ALTER AVAILABILITY GROUP 權限、CONTROL AVAILABILITY GROUP 權限、ALTER ANY AVAILABILITY GROUP 權限,或是對 CONTROL SERVER 的權限。
使用 SQL Server Management Studio
將資料庫新增至可用性群組
在 Object Explorer 中,連接到托管主要複本的伺服器執行個體,然後展開伺服器樹狀目錄。
展開 [ AlwaysOn 高可用性 ] 節點和 [ 可用性群組] 節點。
以滑鼠右鍵按一下可用性群組,然後選擇下列其中一個命令:
若要啟動 [將資料庫新增至可用性群組精靈],請選取 [新增資料庫] 命令。 如需詳細資訊,請參閱 使用將資料庫新增至可用性群組精靈 (SQL Server Management Studio) 。
若要在 [ 可用性群組屬性 ] 對話框中指定一或多個資料庫,請選取 [屬性 ] 命令。 新增資料庫的步驟如下:
在 [ 可用性資料庫] 窗格中,按兩下 [ 新增 ] 按鈕。 這會建立並選取空白資料庫欄位。
輸入符合可用性資料庫必要條件的資料庫名稱。
若要新增另一個資料庫,請重複上述步驟。 當您完成指定資料庫時,請按兩下 [確定 ] 來完成作業。
使用 [可用性群組屬性 ] 對話框將資料庫新增至可用性群組之後,您必須在裝載次要複本的每個伺服器實例上設定對應的輔助資料庫。 如需詳細資訊,請參閱在 AlwaysOn 輔助資料庫上啟動數據移動(SQL Server)。
使用 Transact-SQL
將資料庫新增至可用性群組
連接到承載主要複本的伺服器實例所在的伺服器。
使用 ALTER AVAILABILITY GROUP 陳述式,步驟如下所示:
更改可用性群組 group_name 添加資料庫 database_name [,...n]
其中 group_name 是可用性群組的名稱, database_name 是要新增至群組的資料庫名稱。
下列範例會將 MyDb3 資料庫新增至 MyAG 可用性群組。
-- Connect to the server instance that hosts the primary replica. -- Add an existing database to the availability group. ALTER AVAILABILITY GROUP MyAG ADD DATABASE MyDb3; GO將資料庫新增至可用性群組之後,您必須在裝載次要複本的每個伺服器實例上設定對應的輔助資料庫。 如需詳細資訊,請參閱在 AlwaysOn 輔助資料庫上啟動數據移動(SQL Server)。
使用 PowerShell
將資料庫新增至可用性群組
將目錄 (
cd) 變更為裝載主要複本的伺服器實例。使用
Add-SqlAvailabilityDatabase指令程式。例如,下列命令會將輔助資料庫
MyDd新增至MyAG可用性群組,其主要複本由PrimaryServer\InstanceName裝載。Add-SqlAvailabilityDatabase ` -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` -Database "MyDb"備註
若要檢視 Cmdlet 的語法,請使用
Get-HelpSQL Server PowerShell 環境中的 Cmdlet。 如需詳細資訊,請參閱 Get Help SQL Server PowerShell。將資料庫新增至可用性群組之後,您必須在裝載次要複本的每個伺服器實例上設定對應的輔助資料庫。 如需詳細資訊,請參閱在 AlwaysOn 輔助資料庫上啟動數據移動(SQL Server)。
若要設定及使用 SQL Server PowerShell 提供者,請參閱 SQL Server PowerShell 提供者。
下列範例示範從裝載可用性群組主要複本的伺服器實例上的資料庫準備輔助資料庫的完整程式,並將資料庫新增至可用性群組(作為主資料庫),然後將輔助資料庫加入可用性群組。 首先,此範例會備份資料庫及其事務歷史記錄。 然後,此範例會將資料庫和記錄備份還原至裝載次要複本的伺服器實例。
此範例會呼叫 Add-SqlAvailabilityDatabase 兩次:先在主要複本上將資料庫新增至可用性群組,然後在次要複本上將該複本上的輔助資料庫聯結至可用性群組。 如果您有多個次要複本,請還原並聯結每個次要複本上的輔助資料庫。
$DatabaseBackupFile = "\\share\backups\MyDatabase.bak"
$LogBackupFile = "\\share\backups\MyDatabase.trn"
$MyAgPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"
$MyAgSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MyAg"
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction 'Log'
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction 'Log' -NoRecovery
Add-SqlAvailabilityDatabase -Path $MyAgPrimaryPath -Database "MyDatabase"
Add-SqlAvailabilityDatabase -Path $MyAgSecondaryPath -Database "MyDatabase"
另請參閱
AlwaysOn 可用性群組概觀 (SQL Server)
建立及設定可用性群組 (SQL Server)
使用 AlwaysOn 儀表板(SQL Server Management Studio)
監視可用性群組 (Transact-SQL)