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云特性:无缝集成公有云

时间: 2024-08-11 04:42:26

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

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

原文:谈谈我的微软特约稿:<SQL Server 2014 新特性:IO资源调控> 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 篡写经历(Experience) 特约稿正文(Content-body) 第一部分:生活中资源调控器: 第二部分:SQL Server中资源调控器: 第三部分:SQL Server资源调控器运用场景—CPU: 第四部分:SQL Server资源调控器运用场景—IO: 第五部分:总结: 第六部分:作者简介:

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

Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,SQL Server IO分为2部分:buffer pool管理方式,和buffer pool. SQL Server 从磁盘中读入数据,并且存放在buffer pool中以供读取和修改,修改完之后脏数据还是放在buffer pool中,当内存紧张执行lazy write把脏数据写入磁盘,并且释放内存

SQL Server 2014新特性:其他

AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 AlwaysOn 可用性组的混合解决方案创建.有关详细信息,请参阅使用“添加 Azure 副本向导”(SQL Server). 辅助副本的最大数目从 4 增加到 8. 断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷. 故障转移群集实例 (FCI) 现在可使用群集共享卷

SQL Server 2014 SP1 通过补丁KB3058865提供更新,SP1一文便知

Microsoft SQL Server 2014 SP1 更新: SQLServer2014SP1-KB3058865-architecture-language.exe 安装完成后版本 12.0.4100.1. 主要特性包如下: Microsoft® SQL Server® Backup to Windows® Azure® Tool Microsoft SQL Server Backup to Windows Azure Tool 支持备份到 Windows Azure Blob 存储,加

SQL Server 2014里的IO资源调控器

在本文中,我们将来看看SQL Server 2014在资源调控器方面增加了哪些新的功能.资源调控器(Resource Governor)是从SQL Server 2008开始出现的一项功能.它是用于管理 SQL Server 工作负荷和系统资源使用情况的功能. 在SQL Server 2014之前,资源调控器只能限制某些用户访问SQL Server所占用的CPU带宽.内存资源.但是随着虚拟化和云技术的发展,IO的控制有了很大的需求.IaaS(Infrastructure as a Service

SQL Server 2014的数据库引擎新增功能(参考sqlserver官方文档)

SQL Server 2014数据库引擎引入了一些新功能和增强功能,这些功能可以提高设计.开发和维护数据存储系统的架构师.开发人员和管理员的能力和工作效率. 以下是数据库引擎已增强的方面. 数据库引擎功能增强 内存优化表 内存中 OLTP 是一种内存优化的数据库引擎,它集成到 SQL Server 引擎中. 内存中 OLTP 已针对 OLTP 进行优化. SQL Server Azure 中的数据文件 Azure 中的 SQL Server 数据文件可为作为SQL Server Azure bl

SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享

这个问题是在SQL SERVER 2005 升级到SQL SERVER 2014的测试过程中一同事发现的.我觉得有点意思,遂稍微修改一下脚本展示出来,本来想构造这样的一个案例来演示,但是畏惧麻烦,遂直接贴上原表,希望Leader不要叼我(当然个人觉得真没啥,两张表名而已,真泄露不了啥信息). 脚本如下所示,非常简单的一段SQL语句,我将其分为SQL1.SQL2.SQL3.  其实SQL2.SQL3是差不多的,唯一的区别在于多了一个IF EXISTS DECLARE @Operation_Code

解读SQL Server 2014可更新列存储索引——存储机制

概述 SQL Server 2014被号称是微软数据库的一个革命性版本,其性能的提升的幅度是有史以来之最. 可更新的列存储索引作为SQL Server 2014的一个关键功能之一,在提升数据库的查询性能方面贡献非常突出.据微软统计,在面向OLAP查询统计类系统中,相比其他SQL传统版本的数据库,报表查询的性能最大可提升上十倍. 下面我们从存储的角度来了解下SQL Server 2014的可更新列存储索引. 什么是列存储 微软为了提升SQL Server的查询性能,更好的支持大数据分析,早在SQL

目录:SQL Server 2014 管理与维护指南

<SQL Server 2014 安装与配置指南> 章节目录 <SQL Server 2014管理与维护> 第1章  实现数据完整性和一致性 1.1  数据完整性 1.2  数据一致性 1.3  阻塞和死锁 第2章  包含数据库 2.1  包含的概念 2.2  实现包含数据库 2.3  包含数据库的排序规则 2.4  迁移到包含数据库 第3章  管理数据库 3.1  修改数据库选项 3.2  数据库的文件类型 3.3  数据库的触发器 第4章  数据库的组织结构 4.1  文件组