文档首页> 云数据库 RDS> 最佳实践> RDS for SQL Server> 使用导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server
更新时间:2022-12-07 GMT+08:00

使用导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server

适用场景

  • 用户在ECS上创建SQL Server数据库。
  • 当ECS上SQL Server实例的版本高于RDS for SQL Server实例的版本时,无法通过DRS进行迁移。
  • 已成功安装SSMS客户端。

操作步骤

  1. 创建一个ECS虚拟机。

    虚拟机跟对应的RDS应在同一个Region、VPC下。

  2. 在ECS上安装SQL Server 2008、SQL Server 2012、SQL Server 2014版本。

    在ECS上安装的SQL Server版本,至少是标准版,最好跟需要还原的目标实例版本保持一致。

  3. 将本地“.bak”文件上传至ECS服务器端,并通过该ECS上的SQL Server服务器进行本地还原。
  4. 通过SQL Server自带的脚本生成工具,生成ECS上的数据库结构脚本。

    1. 选中需要生成schema脚本的数据库,单击鼠标右键选择“任务 > 生成脚本”。
    2. 在导航页中根据提示单击“下一步”,在“选择对象”页面,确定要导出的对象,可选择全部,也可以选择独立对象模块导出。如图1所示。
      图1 选择要导出的对象
    3. 单击“下一步”,在“设置脚本编写选项”页面,选择将要导出文件的保存位置。

      建议保存到本机,并生成一个SQL脚本方便执行。

      图2 选择导出文件的保存位置
    4. 单击图2中的“高级”按钮,进入“高级脚本编写选项”页面,根据实际需要选择具体脚本生成规则和相关细节,单击“确定”。例如:触发器,索引,唯一键,主键,服务器版本等重要选项。
      图3 高级脚本编写选项

      脚本Drop和Create是编写脚本数据类型的重要选项。

    5. 单击“下一步”完成脚本生成。

  5. 通过SSMS客户端连接到目标RDS实例上,打开生成的脚本SQL文件。

    首先创建一个空的数据库,再通过该脚本在该数据库上创建相关结构。

  6. 完成以上步骤后通过SQL Server自带的导入导出功能完成数据迁移。

    1. 选择要导入的数据库,单击鼠标右键选择“任务 > 导入数据”。
    2. 根据页面导航,单击“下一步”
    3. 在“选择数据源”页面,选择要从中复制的源,单击“下一步”
    4. 在“选择目标”页面,指定要将数据复制到何处,单击“下一步”
      • 目标:选择SQL Server Native Client(该选项根据你的目标类型进行选择)。
      • 服务器名称:输入目标实例所在的IP和端口号。
      • 身份验证:选择使用SQL Server身份验证,并在下方输入rdsuser帐号和密码。
      • 数据库:选择要导入数据的目标数据库。
    5. 选择复制源数据库中现有表或视图的全部数据,单击“下一步”
    6. 在“选择源表和源视图”页面,勾选需要导入的表或视图,也可全选要导入的所有对象,再单击“编辑映射”,根据实际需要进行选择,至少选中启用标识插入。
    7. 根据页面导航,单击“下一步”
    8. 选择立即执行,单击“下一步”
    9. 根据导航单击“完成”,开始数据导入并查看进度,一般为4000行/秒。