微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server 2016 Failover +AlwaysOn 增加数据库到可用性组

sql Server Failover +AlwaysOn 增加数据库到可用性组
前面几篇文章都已经详细介绍了sql Server Failover +AlwaysOn 的配置,今天我们主要介绍sql Server Failover Cluster+AlwaysOn下 增加数据库到可用性组
我们首先需要创建一个数据库及表

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


数据库名称
HAGroupDB2

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


创建表

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


给表插入数据

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们把这个数据库增加到高可用性组中;当前新建的数据库没有同步

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们再高可用性组下增加数据库

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


提示需要我们完整备份一下

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


所以我们备份

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们同时也备份事务日志

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


备份完成后,我们换需要将备份的数据库和事物log在节点3上进行还原

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


还原数据库

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


还原时候,选项中必须选择还原状态:RESTORE WITH norECOVERY

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


数据库还原完成

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们查看还原状态

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


再还原事物日志

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


还原选项---我们选择第二个选项---RESOTRE WITH norECOVERY

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


还原完成

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们还原了数据库和事务日志后,数据库的状态未正在还原状态

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


接下来我们就开始增加数据库到AG中了

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们选择Join only

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们链接已存在的副本服务器

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


连接成功

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


加入成功

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们查看AG中的数据库信息

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


查看集群数据库的状态,也成为了已同步

SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


SQL Server 2016 Failover  +AlwaysOn 增加数据库到可用性组


我们查看面板,一切正常

SQL Server 2016 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"  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐