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 ...
随机推荐
- padding(内边距)、margin(外边距)、border(边框)
元素的 padding 控制元素内容 content和元素边框 border 之间的距离. 元素的外边距 margin 控制元素边框 border 和元素实际所占空间的距离,如果你将一个元素的 mar ...
- Java日志系统及框架分析
最近在考虑将容器(Tomcat)内的应用日志统一成slf4j + logback,主要目的有: 快速定位应用日志输出路径,方便日志的采集: 能动态调整日志的级别,方便线上问题定位: 方便在容器层面做扩 ...
- 使用属性android:onClick,出现异常NoSuchMethodException
在Activity中注册点击事件有两种方式,setOnClickListener或在xml中设置控件的android:onClick="gotoSecond"属性,在Activit ...
- 萝卜白菜,给有所爱——C#和JAVA都会终将被时代淘汰
看到园子里又有一波试图掀起C#和JAVA的谁更好的争论,对于这些一直不断的争论,我觉得实在没有必要,黑格尔的存在即合理,中国的老古语说的萝卜白菜各有所爱,大家争论的再多其实卵用也没用,还不如趁着闲暇时 ...
- SAP HANA专题分析目录
针对HANA的关键技术领域, 做深度解析. 1. HANA开发规范 HANA 各种对象的应用解析.版本管理,开发规范. 2. HANA系统管理 用户.系统权限.数据权限的深度解析. HANA系统配置. ...
- testng+reportng,运行xml
在看了http://seleniumcn.cn/read.php?tid=7960视频的Reportng后自己实验了下, 1.下载reportng-1.1.4.zip,解压后如下,把reportng- ...
- PHP中实现MySQL嵌套事务的两种解决方案
PHP中实现MySQL嵌套事务的两种解决方案 一.问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: Transactions cannot be nested. This is a co ...
- 多语言配置--LogisticsPlatform物流平台系统
先看:LanguageProvider.cs 中几个主要方法 1.读取默认语言 附user.ini文件: 2.获取语言类型 附LanguageType.xml 3.读取语言资源 附: 看ILa ...
- LINUX btmp 日志(lastb 命令)
Linux下/var/log/btmp文件: 今天查看了一下服务器,发现/var/log/btmp日志文件比较大,搜索一下,此文件是记录错误登录的日志,就是说有很多人试图使用密码字典登录ssh服务,此 ...
- python安装MySQLdb模块
以Ubuntu下安装为例: 下载地址:https://pypi.python.org/pypi/MySQL-python/ 解压后直接进入解压目录运行安装命令. python setup.py ins ...