《Windows Azure Platform 系列文章目录》
文本是对:SQL Azure (17) SQL Azure V12 - 跨数据中心标准地域复制(Standard Geo-Replication)进行补充。
之前的博文是使用ASM部署模式的,使用Geo-Replication需要使用Azure PowerShell。
本文将详细介绍如何使用ARM模式进行部署,分为两个部分:
一.创建Azure China East主站点数据库
二.创建Azure China North异地站点
三.连接China East和China North数据库
四.手动进行故障转移
一.创建Azure China East主站点数据库
1.首先我们登录Azure ARM Portal: https://portal.azure.cn
2.选择新建,数据库
3.在中国东部创建数据库,服务器名称为:leizhangsqlsvrsh,数据库名称为MyDB。定价层我们选择Basic。如下图:
注意:我们在下图中创建的服务器管理员账户,是属于sysadmin。
4.创建完毕后,请先点击请数据库服务器,设置服务器leizhangsqlsvrsh的防火墙规则,如下图:
二.创建Azure China North异地站点
1.我们点击上面创建的数据库MyDB,选择异地复制,然后选择目标区域为China North,中国北部
请注意,我们创建的异地复制数据库,也可以和主站点一样,都在China East。
但是为了异地冗余的目的,笔者在这里设置的是China North
2.在China North创建新的服务器:leizhangsqlsvrbj。如下图:
请注意,因为主站点China East的数据库定价层为Basic。所以我们异地站点China North的数据库定价层也只能是Basic。
3.设置完毕后,UI上就会有动画效果,显示在China East的数据库同步到China North。如下图:
4.最后别忘记设置SQL数据库服务器:leizhangsqlsvrbj的防火墙规则。图略。
三.连接China East和China North数据库
我们整理一下之前创建的 Azure SQL Database
类型 | SQL Server Name | 物理位置 | DB Name | 定价层 | 权限 |
主站点 | leizhangsqlsvrsh | China East | MyDB | Basic | 读写 |
异地复制站点 | leizhangsqlsvrbj | China North | MyDB | Basic | 只读 |
我们在主站点leizhangsqlsvrsh提交的事务,都会异步在异地只读站点leizhangsqlsvrbj提交。
以笔者的经验来说,事务提交的延迟是秒级别的。
四.手动进行故障转移
当发生异常的时候,主站点leizhangsqlsvrsh宕机,我们可以手动进行故障转移。
1.点击主站点SQL Server:leizhangsqlsvrsh,数据库MyDB。选择异地复制。
点击辅助数据库,然后右键,强制故障转移
2.当我们选择强制故障转移的时候,客户端链接到主站点:leizhangsqlsvrsh的会话会中断,并影响数据库事务。
如果我们开发的时候,需要有transaction roll back机制。
3.当我们点击上图的“是”,系统会有动画效果,提示正在进行主从切换。
4.切换完毕后,我们会发现原来China East的主站点会变成只读站点。而原来的只读站点China North会变成主站点。如下图: