博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从global到mooncake迁移SQL Azure
阅读量:6657 次
发布时间:2019-06-25

本文共 1183 字,大约阅读时间需要 3 分钟。

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

 

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

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语句,然后再执行。这种方法理论上可行,不过我连试的念头都没有……依然是带宽问题

 

参考链接:

 

转载于:https://www.cnblogs.com/erucy/p/6362467.html

你可能感兴趣的文章
mysql源码包最新版本_1mysql源码安装到时候要更新
查看>>
python win32ui_Python win32ui.CreateWindowFromHandle方法代码示例
查看>>
mysql 序列重置不好用_二十九、MySQL 序列使用
查看>>
python字频统计软件_python统计文本中字频的方法
查看>>
java数据类型有哪几种_java数据类型有哪些
查看>>
java 空对象_Java中的空对象模式
查看>>
java课程设计 计算器_Java课程设计-计算器
查看>>
java 什么是内部类_什么是JAVA内部类?
查看>>
java web套打_XMReport-提供web项目Java套打解决方案
查看>>
java获取图片分辨率_java获取远程图片分辨率
查看>>
java label 超链接_java – 如何在JLabel中添加超链接?
查看>>
java foreach 源码_java Foreach与迭代器(示例代码)
查看>>
java http请求分发_Java实现利用HttpClient和配置文件实现集群模式下的文件同步分发-Go语言中文社区...
查看>>
java log4j 使用_java日志之log4j简单使用
查看>>
java oracle分页查询语句_oracle 分页语句
查看>>
java 连接sqlserver_java连接sqlserver报错
查看>>
mysql元数据同步_MySQL 元数据
查看>>
java 事务面试_java中关于java事务的面试要点
查看>>
java宝典_Java宝典(三)
查看>>
java选_java基础笔记(七)——java选择结构
查看>>