更新时间:2024-09-05 GMT+08:00
使用导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server
适用场景
- 用户在ECS上创建SQL Server数据库。
- 当ECS上SQL Server实例的版本高于RDS for SQL Server实例的版本时,无法通过DRS进行迁移。
- 已成功安装SSMS客户端。
操作步骤
- 创建一个ECS虚拟机。
虚拟机跟对应的RDS应在同一个Region、VPC下。
- 在ECS上安装SQL Server 2008、SQL Server 2012、SQL Server 2014版本。
在ECS上安装的SQL Server版本,至少是标准版,最好跟需要还原的目标实例版本保持一致。
- 将本地“.bak”文件上传至ECS服务器端,并通过该ECS上的SQL Server服务器进行本地还原。
- 通过SQL Server自带的脚本生成工具,生成ECS上的数据库结构脚本。
- 选中需要生成schema脚本的数据库,单击鼠标右键选择“任务 > 生成脚本”。
- 在导航页中根据提示单击“下一步”,在“选择对象”页面,确定要导出的对象,可选择全部,也可以选择独立对象模块导出。如图1所示。
- 单击“下一步”,在“设置脚本编写选项”页面,选择将要导出文件的保存位置。
建议保存到本机,并生成一个SQL脚本方便执行。
- 单击图2中的“高级”按钮,进入“高级脚本编写选项”页面,根据实际需要选择具体脚本生成规则和相关细节,单击“确定”。例如:触发器,索引,唯一键,主键,服务器版本等重要选项。
图3 高级脚本编写选项
脚本Drop和Create是编写脚本数据类型的重要选项。
- 单击“下一步”完成脚本生成。
- 通过SSMS客户端连接到目标RDS实例上,打开生成的脚本SQL文件。
首先创建一个空的数据库,再通过该脚本在该数据库上创建相关结构。
- 完成以上步骤后通过SQL Server自带的导入导出功能完成数据迁移。
- 选择要导入的数据库,单击鼠标右键选择“任务 > 导入数据”。
- 根据页面导航,单击“下一步”。
- 在“选择数据源”页面,选择要从中复制的源,单击“下一步”。
- 在“选择目标”页面,指定要将数据复制到何处,单击“下一步”。
- 目标:选择SQL Server Native Client(该选项根据你的目标类型进行选择)。
- 服务器名称:输入目标实例所在的IP和端口号。
- 身份验证:选择使用SQL Server身份验证,并在下方输入rdsuser帐号和密码。
- 数据库:选择要导入数据的目标数据库。
- 选择复制源数据库中现有表或视图的全部数据,单击“下一步”。
- 在“选择源表和源视图”页面,勾选需要导入的表或视图,也可全选要导入的所有对象,再单击“编辑映射”,根据实际需要进行选择,至少选中启用标识插入。
- 根据页面导航,单击“下一步”。
- 选择立即执行,单击“下一步”。
- 根据导航单击“完成”,开始数据导入并查看进度,一般为4000行/秒。