阿里云 DTS迁移自建SQL Server注意事项

一、 注意事项

  • 自建SQL Server版本为2008、2008 R2、2012、2014、2016或2017
  • 待迁移的表需有主键或唯一非空索引,否则预检查会报错
  • RDS SQL Server的存储空间须大于自建SQL Server占用的存储空间
  • 需要双向开通自建SQL Server到DTS服务器的防火墙1433端口策略,rds SqlServer需添加对应DTS服务器网段白名单策略(RDS → RDS不需要),DTS服务器网段参考 https://help.aliyun.com/document_detail/84900.htm?spm=a2c4g.11186623.2.15.306364f2QNXyYr#concept-1340353
  • 源库设置为full模式,需要先做过一次全备及日志备份
  • DTS会在目标库创建心跳表 dts_log_heart_beat,保证增量数据迁移延迟显示的准确性
  • 目前DTS支持结构迁移的对象为表、视图、表触发器、同义词、SQL 存储过程、SQL 函数、plan guide、自定义类型、rule和default。
  • 迁移前需要禁用目标库外键,因为迁移时插入顺序不固定,可能会导致子表插入报错,丢失数据
  • 全量迁移期间停日志备份,必须注意全量迁移所需时间,避免日志过大
  • 全量迁移期间禁止ddl操作
  • 增量迁移不支持迁移触发器
     

二、 数据迁移限制

  • DTS不支持Alwayson、FCI实例作为源库,目前只能支持通过手动增量备份上云(实测支持)
  • 不支持assemblies、service broker、全文索引、全文目录、分布式schema、分布式函数、CLR存储过程、CLR标量函数、CLR表值函数、内部表、系统、聚合函数的结构迁移
  • 不支持迁移数据类型为sql_variant的数据
  • 不支持迁移含有计算列的表
     

三、 迁移步骤

1. 准备工作

自建SQL Server版本、配置、使用功能、业务所需权限等RDS是否能满足,RDS价格如何
自建SQL Server数据量有多大、表有多大
梳理库中的待迁移对象,是否有不支持的类型,是否存在无主键表,是否存在有外键表
源库设置为full模式,先做过一次全备及日志备份
申请防火墙策略,添加白名单策略

2. 数据迁移

  • 如果存在有外键表,第一次只迁移表结构,迁移后禁用目标库外键
  • 如果存在触发器,不利用DTS迁移,切换后手动创建
  • 全量迁移期间停日志备份,禁止ddl操作
  • 执行全量+增量迁移,增量迁移基本无延迟后启用日志备份
  • 重要业务应该进行功能及性能测试验证

3. 业务切换至新库

  • 业务方停应用
  • 杀数据库中残留的用户进程,把源库改成只读模式
  • 再次检查一遍数据库中的进程,确认dts同步状态没有延迟
  • 业务方切应用到新库,验证功能
     

参考

https://help.aliyun.com/document_detail/34357.htm?spm=a2c4g.11186623.2.9.1538578e2WPwJm#concept-287101

https://help.aliyun.com/document_detail/95736.html?spm=a2c4g.11186623.6.880.a3084621ZVytbo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hehuyi_In

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值