RDS SQL Server部分实例支持实例间复制数据库功能,您可以通过RDS控制台或者OpenAPI将一个实例中的数据库复制到另外一个实例中。

前提条件

RDS实例必须满足以下条件:
  • 源实例和目标实例必须在一个阿里云账号下。
  • 源实例和目标实例的版本必须相同。支持如下实例版本:
    • RDS SQL Server 2012
    • RDS SQL Server 2016
    • RDS SQL Server 2008 R2(云盘)
  • 源实例和目标实例必须在同一地域,可用区可以不同,网络类型需相同。
  • 目标实例中必须没有和源实例同名的数据库
  • 目标实例的可用存储空间必须大于源实例中待复制数据库占用的空间。

功能说明

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

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

RDS数据库复制功能与DTS迁移功能的区别

区别项 RDS数据库复制功能 DTS迁移功能
功能原理 RDS数据库复制的实现原理是通过备份集还原,即通过指定时间点或者备份集来将指定的数据库复制到目标实例,不会删除源库数据。 DTS迁移为逻辑迁移,其实现原理是通过读取并解析源端日志的方式进行数据迁移。数据迁移过程包括三个阶段,即结构迁移、全量数据迁移和增量数据迁移, 不会删除源库数据。
支持的数据源 仅支持源为RDS SQL Server。 支持源为阿里云ECS自建数据库、IDC自建数据库、其它云服务器上的自建数据库或RDS SQL Server。更多详情,请参见支持的数据库
实现模式 仅支持一次性全量复制,不收费。 支持结构迁移和全量数据迁移、增量数据迁移。增量迁移收费,详情请参见计费概述

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧菜单栏中单击数据库管理
  3. 单击复制到其他实例,参数说明如下。
    配置项 说明
    源实例名 系统默认显示源实例的ID。
    目标实例名

    目标实例的ID。

    目标实例栏显示同一地域中所有实例版本相同的实例。您可以单击鼠标左键选择目标实例。

    需复制的数据库

    指定哪些源实例中的数据库需要复制到目标实例。您可以通过右移左移灵活控制需要复制的数据库。

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

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

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