SQL Server Failover +AlwaysOn 增加数据库到可用性组
前面几篇文章都已经详细介绍了SQL Server Failover +AlwaysOn 的配置,今天我们主要介绍SQL Server Failover Cluster+AlwaysOn下 增加数据库到可用性组
我们首先需要创建一个数据库及表
Failover  +AlwaysOn
数据库名称
HAGroupDB2
Failover  +AlwaysOn
创建表
Failover  +AlwaysOn
给表插入数据
Failover  +AlwaysOn
我们把这个数据库增加到高可用性组中;当前新建的数据库没有同步
Failover  +AlwaysOn
我们再高可用性组下增加数据库
Failover  +AlwaysOn
提示需要我们完整备份一下
Failover  +AlwaysOn
所以我们备份
Failover  +AlwaysOn
我们同时也备份事务日志
Failover  +AlwaysOn
备份完成后,我们换需要将备份的数据库和事物log在节点3上进行还原
Failover  +AlwaysOn
还原数据库
Failover  +AlwaysOn
还原时候,选项中必须选择还原状态:RESTORE WITH NORECOVERY
Failover  +AlwaysOn
数据库还原完成
Failover  +AlwaysOn
我们查看还原状态
Failover  +AlwaysOn
再还原事物日志
Failover  +AlwaysOn
Failover  +AlwaysOn
还原选项---我们选择第二个选项---RESOTRE WITH NORECOVERY
Failover  +AlwaysOn
还原完成
Failover  +AlwaysOn
我们还原了数据库和事务日志后,数据库的状态未正在还原状态
Failover  +AlwaysOn
接下来我们就开始增加数据库到AG中了
Failover  +AlwaysOn
我们选择Join only
Failover  +AlwaysOn
我们链接已存在的副本服务器
Failover  +AlwaysOn
连接成功
Failover  +AlwaysOn
加入成功
Failover  +AlwaysOn
我们查看AG中的数据库信息
Failover  +AlwaysOn
查看集群数据库的状态,也成为了已同步
Failover  +AlwaysOn
Failover  +AlwaysOn
我们查看面板,一切正常
Failover  +AlwaysOn
综合上面的操作,我们可以使用powershell来完成

$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"