Lei Zhang的博客 阅读(134) 评论(0)

  《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会变成主站点。如下图: