上船容易——从阿里云迁移SQL数据库到Azure云的尝试 之二

简介:

   上文书说到,利用DMA和SSMS迁移阿里PaaS SQL到Azure失败了,并且初步查到了原因,是因为Ali RDS对系统库的访问做了Deny。

    解决的办法是在本地(Ali云)对数据库进行导出导入:创建一个新的IaaS的数据库,然后将PaaS上的数据导入。有了这个可以输出的数据库,就能够在Azure快乐地进行输入啦。

   

    进行数据迁移,除了DMA之外,SSMS 2017的菜单里也集成了Azure SQL的部署向导,能够把SQL Server直接部署到Azure SQL的PaaS实例。

    clip_image001

    放这张图的意义在于这句话“……将数据库部署到Microsoft Azure SQL Database。您还可以使用该向导将 Microsoft Azure SQL Database部署到SQL Server的本地实例,或将数据库从一个Microsoft Azure SQL Database实例移到另一个实例。”

    我觉得,云服务应该是能上能下的,而不是上了就下不来的。虽然这个向导的迁移并不是我期望的平滑同步迁移。SSMS使用的是BACPAC的迁移方式。

    clip_image001[5]

    在这个场景中,我的笔记本同时连接到不同的云平台,这意味着数据需要从Ali云流到我的电脑,然后再流入Azure云。实际部署中肯定应该把SSMS部署在云中,提高复制速度减少流量。并且,需要保留足够的存储空间以存放BACPAC文件。

    回到这个故事的最初,朋友其实是有很大的数据库需要迁移的。所以,这种导入导出的方式并不是我所期望的。我期望的是没有什么实际停机时间的平滑迁移。所以我觉得订阅复制方式可能更加适合。

    借这个机会,我也在Ali的SQL Server上启用了分发,在Azure上启用了订阅。

    image

    从Ali的IaaS SQL到Azure,就没啥问题了。转过身,我当然也要试试DMA这个工具来迁移数据库,

    image

    这一次,能够访问系统库的数据库服务器可以迁移了。DMA工具会对迁移进行评估,然后来创建迁移工作。在这个例子里,因为存在跨库查询,所以迁移到PaaS的SQL实例会有报错,建议修改使用弹性查询。

    通过这次折腾,我觉得比较好的迁移方式,是:

1、如果是个很小的数据库,并且也不想做任何的修改调整的话,简单粗暴的虚机导出导入~

2、如果希望通过迁移完成从IaaS到PaaS的变迁,建议首先评估PaaS是否有任何限制,上得去,是否下得来

3、源SQL到目标SQL的操作兼容性。可以用DMA进行迁移评估,根据报告确认有哪些兼容性调整的工作

4、数据库稍大,就需要考虑数据连续性和迁移窗口的矛盾,是否使用AlwaysOn或者发布订阅的方式来做数据库复制

另外有个本来是NDA的消息,不过微软的兄弟已经透露了,Azure上很快有更新的Managed SQL的版本,能够减少更多的限制,提供更好的性能和灵活度。

    上船容易,也要想想下船难不难。




     本文转自HaoHu 51CTO博客,原文链接:http://blog.51cto.com/haohu/2059547,如需转载请自行联系原作者


相关文章
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
43 10
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
61 6
|
3天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
3天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
17 3
|
6天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
28 0
|
7天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
15天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
15天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
15天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
16天前
|
存储 关系型数据库 MySQL
数据库字符编码MySQL中使用UTF-8还是UTFB4
数据库字符编码MySQL中使用UTF-8还是UTFB4
19 0