自建SQL Server通过物理网关迁移上云
本文介绍如何通过DTS控制台的物理网关迁移上云功能将ECS、IDC或其他云服务器中的自建SQL Server数据库迁移到RDS SQL Server。该功能采用物理网关协议的接入方式,具有速度快、操作简单、稳定性好、场景覆盖全等特点,能够有效提高迁移效率。
使用场景
若您的自建SQL Server数据库所在服务器可以访问公网,您可以采用本文操作将自建SQL Server数据库迁移到RDS SQL Server中。
前提条件
源端自建SQL Server需要满足以下条件。
源端自建数据库的版本为:SQL Server 2019、2017、2016、2014、2012、2008 R2、2005。
说明支持阿里云ECS自建数据库、IDC自建数据库、其它云服务器上的自建数据库,不支持云数据库。
源端自建数据库所在服务器需要安装DBS物理协议网关,安装方法请参见附录:新建物理协议网关。
说明请确保物理协议网关安装地域与目标RDS实例处于同一地域。
目标端RDS SQL Server实例需满足以下条件。
目标端数据库的版本为:SQL Server 2019、2017、2016、2014、2012、2008 R2。
目标端RDS SQL Server实例版本必须大于或等于源端自建SQL Server版本。
使用阿里云账号完成如下授权。
已创建AccessKey,并获取AccessKey ID和AccessKey Secret信息,用于客户端网关的身份识别及注册上线至DBS控制台。具体操作,请参见创建AccessKey。
若用RAM账号(阿里云子账号)进行添加,需要获得AliyunDBSFullAccess权限,具体操作,请参见为RAM用户授权。
说明主账号默认在开通DBS服务时已开通以上权限。
添加成功后,当前账号下的所有用户在DBS控制台都可以看到该备份网关。
物理协议迁移上云和逻辑数据迁移上云的区别
对比项 | 物理协议迁移上云 | 逻辑数据迁移上云 |
迁移原理 | 采用数据库原生物理备份协议以数据块的方式写入到目标端。 | 采用JDBC逻辑协议获取SQL并写入到目标端。 |
操作系统要求 | 仅支持Windows上的SQL Server,且桌面Windows版本不能低于XP,服务器Windows版本不能低于2003。 | 无限制。 |
部署要求 | 需要在数据库所在服务器上安装物理协议网关。 | 无需安装网关。 |
网络连通要求 | 数据库所在服务器可以访问到阿里云服务网络。 说明 若您的自建SQL Server数据库所在服务器无法连接公网,但有一台专门的堡垒机进行网络通信时,请选择其他迁移方案,请参见自建SQL Server通过堡垒机架构的物理网关迁移上云。 | 需要开放数据库端口或开通专线访问。 |
源库权限要求 | 需要sysadmin角色。 | 结构迁移和全量迁移需要SELECT权限,增量迁移需要sysadmin权限。更多详情请参见数据库账号的权限要求。 |
目标库版本要求 | 目标库版本必须大于等于源库版本号。 | 支持从高版本到低版本,或低版本到高版本。 |
目标库可访问性 | 迁移上云期间不可使用。 | 迁移上云期间允许读写。 |
源库可以迁移表的限制 | 不支持内存表,不支持FileStream、FileTables数据字段类型。 | 限制条件,请参见源库限制。 |
支持的迁移场景 | 自建数据库迁移上云。 说明 ECS、IDC或其他云服务器中的自建SQL Server数据库。 | 自建数据库迁移上云、其他云托管数据库迁云上云。 |
迁移效率 | 高。 | 中。 |
是否支持数据加工ETL | 不支持。 | 支持。 |
是否支持表级别数据过滤 | 不支持。 | 支持。 |
是否支持库级别过滤 | 支持。 | 支持。 |
迁移说明
类型 | 说明 |
源库限制 |
|
数据库版本 | 目标端SQL Server版本必须大于或等于源端SQL Server版本,版本高低关系如下:
说明 各版本支持的迁移关系,请参见支持的迁移关系。 |
内存数据库与镜像技术 | 由于SQL Server中In-Memory OLTP特性和Mirroring技术是不兼容的,如果您的源端开启了内存数据库,目标端不能为高可用版的RDS实例。 |
数据库个数 | 多库迁移时,由于RDS的数据库个数存在约束限制,不同的实例规格限制也相应不同,具体请参见数据库数量。 |
其他限制 |
|
注意事项
数据迁移上云期间允许对源端自建SQL Server数据库进行增量写入,但在上云切换过程中请勿进行写入操作,否则会导致数据不一致。
增量迁移期间,目标端RDS SQL Server数据库暂时处于不可用状态。请等待增量迁移任务完成,并且选择切换上云后再使用目标数据库。
支持的迁移关系
源端版本(Edition) | 目标RDS版本(Edition) |
企业版(Developer)/标准版/Web/Express | 企业版 |
标准版/Web/Express | 标准版 |
Web/Express | Web |
操作步骤
进入迁移任务的列表页面。
登录DMS数据管理服务。
在顶部菜单栏中,单击集成与开发(DTS)。
在左侧导航栏,选择 。
说明实际操作可能会因DMS的模式和布局不同,而有所差异。更多信息,请参见极简模式和自定义DMS界面布局与样式。
您也可以登录新版DTS迁移任务的列表页面。
在迁移任务右侧,选择迁移实例所属地域。
说明新版DTS迁移任务列表页面,需要在页面左上角选择迁移实例所属地域。
- 单击创建任务,配置源库及目标库信息。警告
选择源和目标实例后,建议您仔细阅读页面上方显示的使用限制,否则可能会导致任务失败或数据不一致。
类别 配置 说明 无 任务名称 DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
源库信息 选择已有的DMS数据库实例 您可以按实际需求,选择是否使用已有实例。
如使用已有实例,下方数据库信息将自动填入,您无需重复输入。
如不使用已有实例,您需要输入下方的数据库信息。
数据库类型 选择SQL Server。 接入方式 选择物理协议。 实例地区 默认为自建SQL Server数据库所属地域。 物理协议网关(DBS备份网关) 选择目标物理协议网关。 说明 物理协议网关的安装方法,请参见附录:新建物理协议网关。主机名或IP地址 此处默认为localhost。
端口 填入自建SQL Server数据库的服务端口,默认为1433。 目标库信息 选择已有的DMS数据库实例 您可以按实际需求,选择是否使用已有实例。 - 如使用已有实例,数据库信息将自动填入,您无需重复输入。
- 如不使用已有实例,您需要输入下方的数据库信息。
数据库类型 默认为SQL Server。 接入方式 默认为云实例。 实例地区 选择目标RDS SQL Server实例所属地域。 实例ID 选择目标RDS SQL Server实例ID。 数据库账号 填入目标RDS SQL Server实例的数据库账号。 数据库密码 填入该数据库账号对应的密码。 - 单击测试连接以进行下一步。
- 在弹出的DTS服务器访问授权对话框中,单击测试连接以进行下一步。
如果源或目标数据库是阿里云数据库实例(例如RDS MySQL、云数据库MongoDB版等),DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单;如果源或目标数据库是ECS上的自建数据库,DTS会自动将对应地区DTS服务的IP地址添到ECS的安全规则中,您还需确保自建数据库没有限制ECS的访问(若数据库是集群部署在多个ECS实例,您需要手动将DTS服务对应地区的IP地址添到其余每个ECS的安全规则中);如果源或目标数据库是IDC自建数据库或其他云数据库,则需要您手动添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问。DTS服务的IP地址,请参见DTS服务器的IP地址段。
警告DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。
- 配置任务对象及高级配置。
配置项 说明 任务步骤 - 如果只需要进行全量迁移,请选中全量迁移(默认必选)。
- 如果需要进行不停机迁移,请选中全量迁移和增量迁移。
说明 如果未选择增量迁移,为保障数据一致性,数据迁移期间请勿在源实例中写入新的数据。源库对象 在源库对象框中单击待迁移的对象,然后单击 将其移动到已选择对象框。
说明 支持迁移单库或多库或整个实例。已选择对象 显示目标迁移对象。 - 单击下一步高级配置,进入高级配置页面。
配置 说明 设置告警 是否设置告警,当迁移失败或延迟超过阈值后,将通知告警联系人。
不设置:不设置告警。
设置:设置告警,您还需要设置告警阈值和告警联系人。更多信息,请参见在配置任务过程中配置监控报警。
源库、目标库无法连接后的重试时间 在迁移任务启动后,若源库或目标库连接失败则DTS会报错,并会立即进行持续的重试连接,默认持续重试时间为720分钟,您也可以在取值范围(10~1440分钟)内自定义重试时间,建议设置30分钟以上。如果DTS在设置的重试时间内重新连接上源库、目标库,迁移任务将自动恢复。否则,迁移任务将失败。说明- 针对同源或者同目标的多个DTS实例,如DTS实例A和DTS实例B,设置网络重试时间时A设置30分钟,B设置60分钟,则重试时间以低的30分钟为准。
- 由于连接重试期间,DTS将收取任务运行费用,建议您根据业务需要自定义重试时间,或者在源和目标库实例释放后尽快释放DTS实例。
- 上述配置完成后,单击页面右下角的下一步保存任务并预检查。说明
- 在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
- 如果预检查失败,单击具体检查项后的
,查看失败详情。
- 您可以根据提示修复后重新进行预检查。
- 如无需修复告警检测项,您也可以选择确认屏蔽、忽略告警项并重新进行预检查,跳过告警检测项重新进行预检查。
- 在预检查页面,预检查通过率显示为100%后,单击下一步购买。
- 在购买页面,阅读并选中《数据传输(按量付费)服务条款》。
- 单击 ,迁移任务正式开始。您可在数据迁移界面单击目标迁移实例,在任务管理页面,查看实例迁移进展。说明 您也可以在RDS控制台目标实例的页面查看数据的全量或增量迁移进度。
- 全量迁移任务进度为100%,增量迁移任务进行时,在目标迁移任务的 页面,单击迁移上云按钮。
- 在弹出的您确定要切换上云吗对话框中,单击立即开始,等待迁移上云任务完成即可。说明 为了保证数据的一致性,请您在触发上云切换前,停止对源实例写入数据,并等待上云任务完成,最后进行业务连接切换,整个过程大约需要数分钟时间。
附录:新建物理协议网关
本章节介绍创建物理协议网关的方法。
前提条件
您需要向NT AUTHORITY\SYSTEM账号赋予Sysadmin角色。您可执行如下SQL命令或通过图形化界面进行设置:
SQL命令
ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITY\SYSTEM] GO
图形化界面
注意事项
AliyunDBSAgent会将待迁移数据库的恢复模式设置成Full。
恢复模式为Full模式时,如果数据库持续写入会占用源端磁盘空间,可能造成源端磁盘满的情况。为避免此种情况发生,迁移任务完成后,您可手动将恢复模式设置为Simple,命令如下:
ALTER DATABASE 数据库名 SET RECOVERY Simple;
操作步骤
在配置源库及目标库信息页面,单击新建物理协议网关按钮。
在弹出的部署命令对话框中,选择备份网关所在地区、备份网关所在网络类型,并复制物理协议网关安装命令,手动下载。
说明公网:通过公网IP访问。
ECS私网/VPC:通过阿里云专线访问。
在本地Windows设备或服务器上,安装AliyunDBSAgent。
双击下载文件内的setup.exe应用程序。
选择安装语言,单击OK,然后单击下一步。
阅读并接受协议条款,单击下一步。
选择DBS备份网关,单击下一步。
选择安装路径,单击下一步并单击确定。
选择备份网关地域,并填写AccessKey ID和AccessKey Secret信息,单击下一步。
重要请确保物理协议网关安装的地域和目标RDS SQL Server实例所在地域是一致的。
AccessKey信息以明文方式存放在安装目录下的
.\config\dbs-agent.conf
中。
确认要安装的组件包,单击下一步。
网关将开始安装,安装时间大约为1~5分钟。
单击完成。
您可
C:\Program Files\aliyun\dbs_agent\logs\agent.log
安装目录下查看网关安装情况,如下图表示网关已正常安装。
物理协议网关安装成功后,在DTS控制台的部署命令对话框中,单击完成安装。
确认物理协议网关是否已启动。
在Windows运行窗口中,输入
services.msc
,单击确定。打开系统的服务管理器。
在服务管理器中,确认该服务是否已启动,如未启动,请右键单击AliyunDBSAgent,在弹出的列表中选择启动。
说明系统将默认启动备份网关,您也可以在服务管理器中启动、停止AliyunDBSAgent的服务。
查看新添加的物理协议网关。
您可在数据库备份DBS的备份网关页面,单击刷新,查看新添加的物理协议网关。
说明以DTS_开头为新添加的物理协议网关。