本文介绍使用 DTS 数据迁移功能从 SQL Server 迁移数据至腾讯云数据库 SQL Server 的操作指导。
注意事项
DTS 在执行全量数据迁移时,会占用一定源端实例资源,可能会导致源实例负载上升,增加数据库自身压力。如果您的数据库配置过低,建议您在业务低峰期进行迁移。
全量迁移过程通过有锁迁移来实现,锁表过程中会短暂(秒级)阻塞写入操作。
前提条件
源数据库所在的服务要开放文件共享端口445。
源数据库必须得设置为“完全恢复模式”,且在迁移前建议用户自己做下全量备份。
源数据库所在本地磁盘空间需要足够大,剩余空闲空间能放下要迁移库的大小。
当源实例非腾讯云 SQL Server 实例(公网/CVM 自建实例、其他云厂商实例)或腾讯云基础版 SQL Server 实例时,目标端需使用具有 sysadmin 权限的帐号进行迁移,且需要能够运行 xp_cmdshell 存储过程,当源实例为腾讯云高可用版和集群版 SQL Server 时,目标端帐号无权限限制。
迁移源端的 SQL 服务启动账号需要改为内置账户 Local System 启动,源端迁移的数据库账号无限制,但是需要有 sysadmin 权限。
如图所示,迁移源端的 SQL 服务启动,启动配置中的登录身份,选择内置账户,并修改为 Local System 启动。
注意:
修改账号后需要重启 SQL server 服务。
应用限制
同一源实例同一时间只能发起一个迁移任务。
当前中国大陆及中国香港地域可以支持跨地域迁移,其他地域不支持跨地域迁移。
只支持库粒度迁移,即在迁移过程中,只支持将库的所有对象一起迁移,不支持单个表的迁移。
不支持迁移实例级别的 login、job agent、触发器、db link (link server)。
操作限制
迁移过程中,请勿修改、删除源数据库和目标数据库中用户信息(包括用户名、密码和权限)和端口号,否则会导致迁移任务失败。
增量同步的过程中,不能进行事务日志备份,否则会截断事务日志,导致事务日志不能连续。
如果仅执行全量数据迁移,请勿在迁移过程中向源实例中写入新的数据,否则会导致源和目标数据不一致。针对有数据写入的场景,为实时保持数据一致性,建议选择全量 + 增量数据迁移。
针对全量 + 增量数据迁移,当单击完成,任务状态为完成中时,请勿向源数据库中写入新的数据,建议在单击完成前至少2分钟停写新的数据,否则可能会导致源和目标库的数据不一致。
支持的 SQL 操作
|
| INSERT、UPDATE、DELETE、REPLACE |
| TABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAEM TABLE VIEW:CREATE VIEW、ALTER VIEW、DROP VIEW INDEX:CREATE INDEX、DROP INDEX DATABASE:CREATE DATABASE、ALTER DATABASE、DROP DATABASE |
环境要求
说明:
如下环境要求,系统会在启动迁移任务前自动进行校验,不符合要求的系统会报错。如果用户能够识别出来,可以参考 校验项检查要求 自行修改,如果不能则等系统校验完成,按照报错提示修改。 |
| 源实例所在的服务需要开放文件共享端口445。 源库和目标库网络能够连通。 源库所在的服务器需具备足够的出口带宽,否则将影响迁移速率。 |
| 仅支持基础版迁移到高可用版本(包括双机高可用和集群版),且目标实例的版本号需要大于源实例的版本号。 目标库不能有和源库同名的库。 目标库所在的磁盘空间要大于源库大小,要为源库的1.5倍。 目标库不能有访问,不能有负载业务进行,否则会导致迁移失败。 |
操作步骤
1. 登录 DTS 控制台,在左侧导航选择数据迁移页,单击新建迁移任务,进入新建迁移任务页面。 2. 在新建迁移任务页面,选择迁移的源实例类型和所属地域,目标实例类型和所属地域,规格等,然后单击立即购买。
|
源实例类型 | 请根据您的源数据库类型选择,购买后不可修改。本场景选择“SQL Server”。 |
源实例地域 | 选择源数据库所属地域。如果源库为自建数据库,选择离自建数据库最近的一个地域即可。 |
目标实例类型 | 请根据您的目标数据库类型选择,购买后不可修改。本场景选择“SQL Server”。 |
目标实例地域 | 选择目标数据库所属地域。 |
规格 | 根据业务情况选择迁移链路的规格,不同规格的性能和计费详情请参考计费概述。 |
3. 在设置源和目标数据库页面,完成任务设置、源库设置和目标库设置,测试源库和目标库连通性通过后,单击新建。
说明:
如果连通性测试失败,请根据提示和 修复指导 进行排查和解决,然后再次重试。 |
任务设置 | 任务名称 | 设置一个具有业务意义的名称,便于任务识别。 |
| 运行模式 | 立即执行:完成任务校验通过后立即启动任务。 定时执行:需要配置一个任务执行时间,到时间后启动任务。 |
| 标签 | 标签用于从不同维度对资源分类管理。如现有标签不符合您的要求,请前往控制台管理标签。 |
源库设置 | 源库类型 | 购买时选择的源库类型,不可修改。 |
| 所属地域 | 购买时选择的源库地域,不可修改。 |
| 接入类型 | 请根据您的场景选择,本场景以“云数据库”为例,不同接入类型的准备工作请参考 。 公网:源数据库可以通过公网 IP 访问。
专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。
VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。
云数据库:源数据库属于腾讯云数据库实例。
云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。
对于第三方云厂商数据库,一般可以选择公网方式,也可以选择 VPN 接入,专线或者云联网的方式,需要根据实际的网络情况选择。 |
| 数据库实例 | 选择源库的实例 ID。 |
| 帐号 | 源库 SQL Server 的数据库帐号,帐号权限需要满足要求。 |
| 密码 | 源库 SQL Server 的数据库帐号的密码。 |
目标库设置 | 目标库类型 | 购买时选择的目标库类型,不可修改。 |
| 所属地域 | 购买时选择的目标库地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“云数据库”。 |
| 数据库实例 | 选择目标库的实例 ID。 |
| 帐号 | 目标库的数据库帐号,帐号权限需要满足要求。 |
| 密码 | 目标库的数据库帐号的密码。 |
4. 在设置迁移选项及选择迁移对象页面,设置迁移类型、对象,单击保存。
|
迁移类型 | 请根据您的场景选择。 全量迁移:迁移整个数据库,迁移数据仅针对任务发起时,源数据库已有的内容,不包括任务发起后源库实时新增的数据写入。 全量 + 增量迁移:迁移数据包括任务发起时源库的已有内容,也包括任务发起后源库实时新增的数据写入。如果迁移过程中源库有数据写入,需要不停机平滑迁移,请选择此场景。 |
指定对象 | 只支持库粒度迁移,即指定库的所有对象需要一起迁移。在源库对象中选择待迁移的库,然后将其移到已选对象框中。 |
5. 在校验任务页面,进行校验,校验任务通过后,单击启动任务。
如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。 失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。
6. 返回数据迁移任务列表,任务进入准备运行状态,运行1分钟 - 2分钟后,数据迁移任务开始正式启动。
选择全量迁移:任务完成后会自动结束,不需要手动结束。
选择全量 + 增量迁移:全量迁移完成后会自动进入增量数据同步阶段,增量数据同步不会自动结束,需要您手动单击完成结束增量数据同步。
请选择合适时间手动完成增量数据同步,并完成业务切换。
观察迁移阶段的状态为准备完成,将源库停写几分钟,之后再手动完成增量同步。
7. (可选)如果您需要进行查看任务、删除任务等操作,请单击对应的任务,在操作列进行操作,详情可参考 任务管理。 8. 当迁移任务状态变为任务成功时,即可对业务进行正式割接,更多详情可参考 割接说明。
本页内容是否解决了您的问题?