SQL Server 2014云特性:无缝集成公有云
本篇是我在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云特性:无缝集成公有云的更多相关文章
- 谈谈我的微软特约稿:《SQL Server 2014 新特性:IO资源调控》
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 撰写经历(Experience) 特约稿正文(Content-body) 第一部分:生活中资源 ...
- SQL Server 2014 新特性:IO资源调控
谈谈我的微软特约稿:<SQL Server 2014 新特性:IO资源调控> 2014-07-01 10:19 by 听风吹雨, 570 阅读, 16 评论, 收藏, 收藏 一.本文所涉及 ...
- SQL Server 2014 新特性——内存数据库
SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...
- 小心SQL SERVER 2014新特性——基数评估引起一些性能问题
在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER ...
- SQL Server 2014新特性——Buffer Pool扩展
Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,S ...
- SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer
SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...
- SQL Server 2014 新特性——内存数据库(转载)
目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 内存优化表的索引 并发能力的提升 和竞争对手相比几点 ...
- [SQL Server 2014] SQL Server 2014新特性探秘
SQL Server 2014新特性探秘(1)-内存数据库 简介 SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了.去年我再西雅图参加SQ ...
- SQL Server 2014新特性:其他
AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 Alw ...
随机推荐
- Mac 识别NTFS移动硬盘
下载工具 TUXERA NTFS 2014
- java-API中的常用类,新特性之-泛型,高级For循环,可变参数
API中的常用类 System类System类包含一些有用的类字段和方法.它不能被实例化.属性和方法都是静态的. out,标准输出,默认打印在控制台上.通过和PrintStream打印流中的方法组合构 ...
- asp.net中gridview的checkbox使用总结
1.在gridview中的<column>中加入 <asp:TemplateField HeaderText="选择"> <ItemTemplate& ...
- WM8978和VS1053B的区别
WM8978是DAC和ADC芯片,不具备编解码的功能.不能把MP3格式或者WAV格式的文件解码出来.有播放和录音功能. 录音如果需要保存为MP3或者WAV格式,那么需要进行软件编码. VS1053B是 ...
- HTML5-列表的使用
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 快速学习C语言一: Hello World
估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上. 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的. 先快速学习并练习一些基本的语言要素,基本类型,表达 ...
- PSP个人耗时
PSP2.1 Personal Software Process Stage Time(min) Planing 计划 20 #Estimate #估计这个任务需要多长时间 180 Developi ...
- 使用Location对象查询字符串参数
location是BOM中最有用的对象之一: 1.它提供了与当前窗口中加载的文档有关的信息: 2.他还提供了一些导航功能. location对象的属性有: hash, host, hostname, ...
- zendframework 2 链接数据库
相对于zf1,来说,zf2让我们对于数据库这方面的操作我的个人感觉是对于字段起别名简单了,但是对数据库的操作虽然配置写好的就基本不需要动了,但是还是比1的配置要繁琐, 还是那句话,大家可以去看看源码. ...
- 《OOC》笔记(1)——C语言const、static和extern的用法
<OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用c ...