之前遇到了问题,在此备注一下:

因为两个环境基本上可以认为是隔离的,所以迁移过程基本上只有通过导出、导入的方式(也是官方推荐的方式):

1、从global上进行数据库的export操作(扩展名bacpac),导出到blob中。通过Azure管理界面完成(当然也可以通过azure命令行,不过操作比较简单就用界面了)

2、从global的blob中将文件复制到mooncake的blob中。可以手动下载、上传,如果文件很大的话,也可以通过AzCopy命令行实现服务器端的点对点复制。

3、在mooncake上通过bacpac进行数据库导入。通过Azure管理界面完成

注意事项:

1、导入、导出的时候,因为对数据库资源消耗非常高(我设置了DTU报警规则,导出期间的DTU基本上停留在95%以上),所以建议先把数据库scale up。我是把S1级别临时提升到了S2级别(DTU从20上升到50)

2、导出过程会非常慢,要有耐心(50DTU的情况下,实测导出速度在7GB/小时左右,没错,小时……)

3、这种类似跨两个产品的导入导出很可能会遇到问题(见下文)

虽然global和mooncake都标识为v12版本的数据库(相当于SQL Server 2014),但是内部版本很可能会不一致,

这次导入的时候就遇到了这个错误:

“Error importing database:Could not read schema model header information from package. The model version '3.5' is not supported”

原因是global比mooncake的版本略新,导致导出导入的文件结构不兼容

解决方法就是先把global数据库的某些设置调整成和mooncake一致的,针对model version 3.5的话执行如下T-SQL:

ALTER DATABASE [dbname] SET TEMPORAL_HISTORY_RETENTION ON

然后再重新导出……(对,重新导出………………)

其实这个问题和Azure无关,是SQL Server的问题,之前在model version 3.3的时候也出现过。

搜索解决方案用了有一阵时间,其实还有两种方案也是可行的:

方案一:使用最新版的SSMS进行导入,它会考虑旧版本兼容的问题。我确实下载且安装并且开始尝试导入创建数据库了,然而考虑到从本地到Azure的带宽,我看了一眼导入速度就绝望的关掉了……

方案二:使用某些工具直接把数据库中所有数据dump成SQL语句,然后再执行。这种方法理论上可行,不过我连试的念头都没有……依然是带宽问题

参考链接:

http://stackoverflow.com/questions/40516564/sql-azure-v12-bacpac-import-error-could-not-read-schema-model-header-informati

http://stackoverflow.com/questions/36754023/sql-azure-v12-bacpac-import-error-the-internal-target-platform-type-sqlazurev1

从global到mooncake迁移SQL Azure的更多相关文章

  1. 迁移 SQL Server 数据库到 Azure SQL 实战

    最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去,迁移过程可谓一波三折,故在此分享这次迁移中碰到的点点滴滴,希望对朋友们有所帮助. 文章来源:葡萄城产 ...

  2. Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  3. 使用SSMS 2014将本地数据库迁移到Azure SQL Database

    使用SQL Server Management Studio 2014将本地数据库迁移到Azure SQL Database的过程比较简单,在SSMS2014中,有一个任务选项为“将数据库部署到Win ...

  4. 迁移 SQL Server 到 Azure SQL 实战

    最近有个维护的项目需要把 SQL Server 2012 的数据库迁移到 Azure SQL 上去.主要是因为租用的主机到期,而运营商停止了主机租赁业务,看来向云端的迁移是大势所趋啊!经过一番折腾最终 ...

  5. 如何将本地数据库迁移至SQL Azure

    Windows Azure的SQL Azure和SQL Server 拥有不同的体系结构,可以说是两个不同的产品.SQL Azure不完全支持或者尚不支持SQL Server的某些功能,这使得我们不能 ...

  6. MS SQL Server迁移至Azure SQL(官方工具)

    前面,我有尝试过将MS SQL Server数据数据迁移至Azure SQL,请参考<MS SQL Server迁移至Azure SQL>,使用的是第三方工具,但现在官方更新了工具,我们尝 ...

  7. MS SQL Server迁移至Azure SQL

    SQL Server的数据目前是存在于公司服务器的,现时需要将它迁移至Azure SQL 迁移分两种 数据库结构复制 数据库结构复制与数据迁移至Azure SQL 第1种方法针对的是将现有数据库创建新 ...

  8. 云计算之路-试用Azure:一次失败的SQL Server向SQL Azure的迁移尝试

    如果数据库用的是SQL Server,那SQL Azure无疑是最吸引人的地方之一.在测试了虚拟机磁盘IO之后,我们迫不急待地进行了SQL Azure的测试. (一) 首先进入manage.windo ...

  9. 长轮询实现Chat并迁移到Azure测试

    长轮询实现Chat并迁移到Azure测试 公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都 ...

随机推荐

  1. python代码 构建验证码

    1.python代码编写 (随机验证码): #coding: utf-8 import Image, ImageDraw, ImageFont, ImageFilter import string, ...

  2. OSI7层网络模型

    物理层在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层.物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输.物理层的作用 ...

  3. unity, unity中GL.MultMatrix的一个超级bug

    GL.MultMatrix与OpenGL固定管线的glMultMatrix函数行为并不一致,不是累乘,而是覆盖. 例如下面例子,本来预期是在(100,100)处画一个方块,而实际效果却是在(0,0)处 ...

  4. hbase能否代替mysql

    代志远早年就职网易研究院从事MapReduce与DFS系统的自主研发,后增加支付宝数据平台负责Hadoop与HBase体系的架构设计与二次研发,支付宝流计算与分布式搜索系统的设计和研发,后成为支付宝海 ...

  5. ListView局部更新(非notifyDataSetChanged)

    package com.example.test; import java.util.ArrayList; import java.util.List; import android.app.Acti ...

  6. android studio - 提取局部变量,全局变量,方法快捷键

    提取局部变量:Ctrl+Alt+V 提取全局变量:Ctrl+Alt+F 提取方法:Shit+Alt+M

  7. python学习之strip()

    定义: Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 语法: str.strip([chars]); 返回值: 返回移除字符串头尾指定的字符生成的新字符串. 例子: ...

  8. 李洪强详细介绍SDWebImage

    SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能.它具有以下功能: 提供UIImageView的一个分类,以支持网络图片的加载 ...

  9. layui点击table表格的每一格时显示相应的内容

    $(document).on('click','.layui-table-cell',function(){ // $("p").css({"background-col ...

  10. [Delphi] 常用字符集简介

    转载 http://www.cnblogs.com/yangyxd/articles/4778483.html 字符集 ANSI (ASCII)美国信息互换标准编码 GB 2312信息交换用汉字编码字 ...