本篇是我在IT168的约稿,原文地址:http://tech.it168.com/a2014/0620/1637/000001637358_all.shtml

 

    IT行业已经进入了云时代,未来越来越多的企业IT基础架构将会部署在公有云、私有云或者混合云上,而数据库作为IT基础架构中最重要的部分与云的结合将变得非常重要。SQL Server 2014打通了公有云与组织内部的关系,无论是运行在企业内部还是运行在Microsoft Azure虚拟机上,SQL Server 2014直接支持将数据文件和日志部署到Microsoft Azure公有云存储,从而可以无缝打通公有云和私有云的边界,架构如图1所示。

图1.SQL Server 2014直接支持将数据库文件部署在Azure Blob

 

为什么需要将SQL Server数据文件部署在Microsoft Azure

    将数据直接部署在Azure Blob存储中可以直接带来诸如性能、数据迁移、数据虚拟化、高可用和灾备方面的好处。但最主要适用场景和优势如下:

  • 可移植性:在Azure虚拟机环境下,将数据部署在Azure Blob中会更加容易移植,只需要简单将数据库分离,并附加到另一台Azure虚拟机中即可,无需移动数据库文件本身。
  • 数据库虚拟化:在为租户提供服务的云环境中,可以结合SQL Server 2012之后的包含数据库特性,将负载较高的虚拟机上的数据库平滑移动到其他虚拟机上,从而不会影响该虚拟机环境的正常运行。
  • 高可用和灾备:由于现在数据库文件位于Microsoft Azure的Blob存储上,因此即使虚拟机本身崩溃,只需要将数据库文件附加到另一台备机上即可。数据库可以在很短的时间内恢复并且数据本身不受虚拟机损坏的影响,从而保证了高RTO和RPO。
  • 可扩展性:无论在Azure虚拟机上还是在企业内部,存储的IOPS都收到具体环境的限制,而在Azure Blob存储上,IOPS可以非常高。

 

    SQL Server 2014与Azure Blob存储的全新交互模块并不仅仅是在现有软件环境中的一个适配机制,而是直接集成于SQL Server存储引擎。数据访问机制如图2所示。

图2.数据库文件在Azure Blob上的数据访问机制

    由图2可以看出,该数据交互机制不再需要虚拟机通过宿主机和IO通道进行交互,此时虚拟机可以直接通过REST API调用存储。从而比在虚拟机上直接访问本地存储有更好的性能。

 

将SQL Server数据文件部署在Microsoft Azure

    下面通过一个例子展示如何将SQL Server数据库文件部署在Azure Blob存储上。首先,需要在Azure存储中建立存储SQL Server数据库文件的容器,如图3所示。

图3.建立存储数据库文件的容器

   

    将容器起名为testsqlfile,访问类型为私有,容器名称标识了数据库文件的访问地址,如图4所示。

图4.新建容器

 

    接下来,创建访问容器的策略以及共享访问签名(shared access signature)。SQL Server需要这个策略和签名才能够与Azure存储上的数据文件进行交互,创建策略和签名的方式可以使用编程的方式,也可以使用REST APIs,在本例中,使用CodePlex现有的一个工具进行创建(可在http://azurestorageexplorer.codeplex.com 下载)。

    首先在Microsoft门户中找到访问存储的账户名称和访问密钥,如图5所示。

图5.找到账户名称和访问密钥

 

    通过该工具创建策略以及访问签名,如图6和图7所示。

图6.创建策略

图7.生成签名

    签名生成成功后,可以通过下述代码在SQL Server中建立访问Azure存储容器的凭据:

CREATE CREDENTIAL [https://portalvhdss6xh8nlhcph8b.blob.core.windows.net/sqldata] 

WITH IDENTITY='SHARED ACCESS SIGNATURE',

SECRET = 'sr=c&si=NewPolicy&sig=%2FhFH82XmxmYSPgvc404WqbK6gIUFfrXmEkKxcmIogWA%3D'

   

    凭据建立完成后,在SQL Server 2014中就可以利用该凭据在Blob存储上创建数据库,在本示例中创建了3个数据文件和1个日志文件,总计31GB,创建用时36秒,,如图8所示。

图8.在Azure存储上创建数据库文件

   

    现在通过SQL Server Management Studio连接到Azure的存储环境,就能够看到刚刚创建的数据库文件,如图9所示。

图9.在Azure Blob上创建的数据库文件

 

总结

    SQL Server 2014与Microsoft Azure有了更深度的集成,并通过存储引擎引隐藏了不必要细节,用户可以用创建一个普通数据库方式创建一个将数据库文件存储在Azure存储上的数据库,从而带来性能、可用性、扩展性、灾备甚至数据虚拟化方面的好处。

SQL Server 2014云特性:无缝集成公有云的更多相关文章

  1. 谈谈我的微软特约稿:《SQL Server 2014 新特性:IO资源调控》

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 撰写经历(Experience) 特约稿正文(Content-body) 第一部分:生活中资源 ...

  2. SQL Server 2014 新特性:IO资源调控

    谈谈我的微软特约稿:<SQL Server 2014 新特性:IO资源调控> 2014-07-01 10:19 by 听风吹雨, 570 阅读, 16 评论, 收藏, 收藏 一.本文所涉及 ...

  3. SQL Server 2014 新特性——内存数据库

    SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...

  4. 小心SQL SERVER 2014新特性——基数评估引起一些性能问题

    在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER ...

  5. SQL Server 2014新特性——Buffer Pool扩展

    Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,S ...

  6. SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer

    SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...

  7. SQL Server 2014 新特性——内存数据库(转载)

    目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 内存优化表的索引 并发能力的提升 和竞争对手相比几点 ...

  8. [SQL Server 2014] SQL Server 2014新特性探秘

    SQL Server 2014新特性探秘(1)-内存数据库   简介 SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了.去年我再西雅图参加SQ ...

  9. SQL Server 2014新特性:其他

    AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 Alw ...

随机推荐

  1. TypeError: matchExpr[type].exec is not a function

    遇到了这个问题,很久没找到答案,后来使用了万能的google,貌似也没找到答案. 详细描述下: 通过使用 $(".select")来选择jqeury对象,没问题. 通过$(&quo ...

  2. app快速开发

    最近由于工作的原因,公司要开发和系统相应的app, 所以了解了一些这方面的内容.(非原生android  IOS  开发) 借用其他网站提供的平台. www.apicloud.com

  3. js获取倒计时

    <html> <head> <title>出错啦~~~</title> <link href="css/login1.css" ...

  4. java类集开发中一对多和多对多的关系的实现

    摘自<java开发实战经典>李兴华.著 一对多的关系 一个学校可以包含多个学生,一个学生属于一个学校,那么这就是一个典型的一对多关系,此时就可以通过类集进行关系的表示. 在定义Studen ...

  5. 百度地图api(摘自百度)

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. Paypal支付接口

    先吐槽一下,国外的创业环境真的远远好于国内的创业环境. vps便宜,网络质量好,没有各种政策监管,各种便捷的金融工具.这其中就包括paypal. Paypal 支持两种付款方式,信用卡+paypal注 ...

  7. Ubuntu16.04使用阿里云镜像安装Mongodb

    一.概述 近日要在新的Ubuntu16.04系统上安装MongoDB,某度结果后直接从Mongo官网直接获得3.2版本的下载链接,结果在下载时发觉速度慢的可怜.迫于无奈,只能找国内的镜像下载.切换国内 ...

  8. python中re.findall()找到的结果替换

    正则表达式re模块中用findall查找到的是ascii码,所以当比对替换时也需要对应的ascii码才能匹配成功.以下程序是查找文件夹下文件名中含有男.女的文件,并将男替换成1,将女替换成2的程序 # ...

  9. EI Index

    Journal of Software (JoS). China. [link]

  10. linux-用命令形式聊天的常用命令

    当我们在Linux的终端下使用命令“who”或“w”时,我们总会看到一长串的用户列表,此时,你是不是很想发送一个消息给他/她.如果她是一个你心仪很久的MM,而你正好看到她也在,迫于害羞的你,是不是此时 ...