RDS SQL Server 2012/2016版本的实例支持实例间的数据复制,您可以通过RDS控制台或者OpenAPI将数据从一个实例复制到另外一个实例。

前提条件

实例需同时满足以下条件,否则无法使用数据复制功能:
  • 源实例和目标实例同属于一个账户。
  • 源实例和目标实例的版本相同。支持的版本有:RDS SQL Server 2012/2016。
  • 源实例和目标实例在同一地域,可用区可以不同,网络类型需相同。
  • 目标实例中没有和源实例同名的数据库。
  • 目标实例的可用存储空间 > 源实例中待复制数据库占用的空间。

背景信息

RDS SQL Server在将数据从源实例复制到目标实例期间,先对源实例做一次全量数据备份,待源实例备份完成后,再将数据复制到目标实例。如果数据复制期间源实例不停写,增量数据不会被复制到目标实例。

您可以选择单库复制或全库复制,且整个复制操作要么全部成功,要么全部失败,保证数据的一致性。

相关API,请参见CopyDatabaseBetweenInstances

操作步骤

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。选择地域 实例间的数据库复制_复制数据库_数据库_RDS SQL Server 数据库_云数据库 RDS 版 阿里云技术文档
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击数据库管理
  5. 单击复制到其他实例

    各项参数配置如表 1所示。

    表 1. 复制到其他实例配置说明
    配置 说明
    源实例名 源实例的ID。
    目标实例名

    目标实例的ID。

    目标实例栏显示同一地域中所有实例版本相同的实例。您可以单击鼠标选择目标实例,也可以手动输入实例ID或者实例名称选择目标实例。

    需复制的数据库

    指定哪些源实例中的数据库需要复制到目标实例。您可以单击添加或者删除灵活控制需要复制的数据库。

    选择多个数据库或者全部数据库时,请确保:
    • 目标实例的可用存储空间大于源实例中待复制数据库占用的空间。
    • 需要复制的数据库没有与目标实例中的数据库重名。
    说明 若复制操作正在进行时,目标实例中创建了与需要复制的数据库同名的库,此时系统会跳过同名的数据库,不做复制。
    是否复制用户和权限

    是否将源数据库的所属用户以及权限复制到目标实例的数据库中。

    • 同步复制数据库的用户和权限:将源实例中该库对应的用户和权限复制到目标实例。存在以下两种情形:
      • 若目标实例中存在对应的用户,直接给其添加源实例中对应的权限;
      • 若目标实例中不存在对应的用户,则先在目标实例中创建该用户,再赋予相应的权限。
    • 仅复制数据库,不复制用户和权限:源实例该库对应的用户和权限不复制到目标实例,默认选项。您可以在目标实例中为该库添加账号和权限,详情请参见创建数据库和账号SQL Server 2017标准版/2016/2012
  6. 完成上述参数配置后,单击确定