Azure SQL数据库迁移阿里云RDS SQLserver实践

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 由于尝试直接使用DTS工具迁移,从微软云迁移SQL数据库到RDS SQLserver时发现,DTS虽然能够连接到Azure SQL, 但是无法获取结构,主要由于Azure SQL是微软针对微软云定制的数据库版本。

 

 

一、背景

         由于尝试直接使用DTS工具迁移,从微软云迁移SQL数据库到RDS SQLserver时发现,DTS虽然能够连接到Azure SQL, 但是无法获取结构,主要由于Azure SQL是微软针对微软云定制的数据库版本。与原本的MSSQL server还是不一样的。为了方便大家能够顺利迁移。整理了导入导出的迁移方式.

 

二、Azure SQL 数据库迁移到RDS SQLserver实践步骤

 

1、         在阿里云控制台创建好目标数据库和登陆用户。

a)       记录下新建的数据库名称、登陆地址、登陆用户名、密码。

b)      登陆用户具有写入权限。

2、         购买一台ECS用于迁移,ECS要求

a)       绑定公网IP。

b)      4核4G的即可。

c)       OS是windows系统

d)      ECS与目标库最好买在同一个可用区或者VPC可以通过内网访问新建的目标数据库。

e)       建议按量购买,迁移完即释放

3、         在购买的ECS上安装SQL server的客户端工具(SSMS)。

a)       SSMS微软下载地址:https://msdn.microsoft.com/library/mt238290.aspx

b)      安装过程,双击可执行文件,全程默认安装即可。过程不再累述

4、         配置迁移过程。

a)       登陆ECS,启动SSMS

6e62a25b3a053ba7bec0062ce1ed0f2ede8961d4

b)      连接的新建的目标数据库

473448d7ad959e5ec44c3abff5133a76191e6bf6

登陆使用的信息,在步骤1 a)已经记录。点击连接登陆

c)      开始配置导入任务

24bc938880e84a67adffc4f50affc446b03d96d2

     

936c2e05b20dfb33fe84ef5c71cf110eaa13ec65

填写数据源连接信息

6166cd4aef99a1b3fbc172b79faa31665daf086e


填写目标数据库连接信息

f2d030185a03a19116d2816855f912998e3168bb

83eec8984d95920a2245c4307609b3575c121169

  

选择表的对应关系,也可以编辑字段的对应关系,可以预览迁移后的数据,一般都是同名对应,如果目标创建的表结构,自动同名对应也可以自定义对应关系,如果目标没有创建表结构,这里可以自动生成与原表结构一致。

8dc1a1a7efac967be3f0d0f69ebf0299491649e5

 列之间的映射关系可以自定义,默认同名对应。同时可以选择追加,还是删除目标表数据,重新导入。其中插入标示如果选中,代表如果源表中的标示是自动增长的,源表是什么值就插入目标表是什么值,如果不选中,默然重新生成标示。

54122f373b0e8ab5bc3df40b0291f69e0ed8de6a

  预览迁移的数据如图,如果没有问题开始正式迁移

eb737eca0c3ae6f2db2c52a93e0c927b2f7e2f4b   

efd5b5b45a97fe371fb0b3250ac0671059db8d7a

533ef2ddd7d5f865ee14cf6ac2c894c81efde3bb

  如果正常到这里就完成了数据的迁移,如果有问题,在消息列会提供报错信息,根据报错信息进行调整即可。   

 

 

5、    数据迁移完了,还有一些脚本性的的代码没有迁移,比如存储过程、试图、自定义函数。迁移的方法就是连接到源库,生成存储过程、试图、自定义函数的脚本,拿到目标库执行,创建这些对象。另外执行计划,需要登录目标库重新创建即可。

生成迁移对象的脚本

0e5da858485567aa939e8d261169585352423759

923addaa58e4f6caf4c026fa0dc77800d6e86093

选择生成的对象:

1a2b7b7dd7790937391620a59eb62d3443673772

选择存放位置和格式:

bd671ac06de27cc64ef8078bee884072964aae5f

ee8950354ca25f6e88d6973dfa4cff617207d84b

 

把生成的脚本,拿到目标库执行,注意脚本不能有操作系统表的行为,否则会超出RDS给提供的用户权限。如果存在建议应用实现这样的功能。

 

 

三、注意事项

a)       这种方式只适用于全量迁移,没有增量。

b)      停机时间取决于数据量的大小,如果停机时间较长,业务不可接受,可以考虑采用这种方式分批迁移数据,得需要业务的配合。

 

 

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
14 4
|
1天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
11天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
51 2
|
14天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
61 4
|
9天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
46 0
|
10天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
41 0
|
28天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
106 6
|
26天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
|
28天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
64 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
20天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
下一篇
无影云桌面