更新时间:2023-10-07
RDS 支持使用完整备份文件 (.bak 文件) 对 Microsoft SQL Server 数据库进行本机备份和还原。当您使用 RDS 时,您可以通过admin用户远程接入到数据库后台,将数据库从实例中导出,同时也可以将备份还原成一个新的数据库。
对于AlwaysON数据库,还原时应包含事务日志备份,在主副本实例上还原数据库为“recovery”,辅助副本中还原为“norecovery”,再从主副本实例将数据库加入到可用性组,并在辅助副本实例中设置可用性组。
4.1.1.单机还原
例如,您可以从本地服务器创建完整备份,将该备份存储到备份介质上,然后将其还原到现有 RDS 数据库实例。
- 如本地存在备份文件“demo.bak”。
- 登录到RDS拓扑页面,选择远程桌面,选择开启。
- 在拓扑页面查看操作系统密码。
- 在网内通过远程桌面工具“MSTSC”连接到RDS服务器。
- 选择本地资源,勾选本地存放备份文件的磁盘驱动器。
- 确定连接到数据库服务器桌面,可以看到本地的磁盘驱动器。
- 将备份文件拷贝到数据库服务器E盘下,比如“E:\backup”目录下。
- 在数据库远程桌面中打开SSMS工具,使用sa用户登录到数据库。
- 使用SSMS的图形工具或使用T-SQL还原数据库。
- 使用图形界面还原数据库时需要注意数据文件位置,确保日志文件放在日志文件的目录下,数据文件存放在数据磁盘驱动器下。
- 还原成功后,刷新数据库列表,检查数据库还原情况。
4.1.2.Alwayson还原
为避免在还原过程中DMP进行自动数据库对象同步,需要进入维护模式,还原完成后再退出维护模式。
1,进入维护模式。在数据库详情页面,拓扑-->更多-->进入维护模式
2,拷贝备份文件到主节点
3,打开SSMS,右击数据库,点击还原数据库
4,先在主节点执行恢复
选择备份文件
在[选项]对话框的恢复状态中选择“restore with recovery”
点击确定,在主库完成数据库恢复。
5,检查数据库是否在完整恢复模式。
加入alwayson的数据库需要运行在完整恢复模式, 所以要先检查恢复的主库是否是完整模式,检查方式如下:
根据检查结果,执行一下步骤:
如果不是,将数据库修改成完整模式,并参考备份源库重新备份这个数据库,将生成的备份集传到备库。
如果是则继续使用原有备份,将原备份集传到备库。
6,备节点还原数据库
参考上面步骤2-4,在备节点恢复数据库,注意备库恢复时,恢复状态选择norecovery。
7,在主节点点击新建查询,执行以下脚本
ALTER AVAILABILITY GROUP [SQLAG] ADD DATABASE [数据库名]
8,在所有备节点点击新建查询,执行以下脚本
ALTER DATABASE [数据库名] SET HADR AVAILABILITY GROUP = [SQLAG]
9,在alwayson高可用的可用性数据库和数据库上分别右键点击刷新,查看数据库的最新状态。
10,退出维护模式