联系我们

4000 555 018
(7×24)
正睿服务器  >  新闻中心  >  技术文章
新闻中心

解析SQL Azure与SQL Server有何异同

间隙填充
正睿科技  发布时间:2012-05-02 10:16:05  浏览数:3345

在逻辑管理和物理管理方面

 

  2012年上半年,随着微软很多重要的产品相继解开神秘面纱,例如System Center 2012、Visual Studio 2012等均已正式发布,而Windows 8、Windows Server 2012估计不久也将发布,微软铺天盖地的云攻势陆续地展开了。

    在微软的云计算战略中有很多重要的云计算产品出现,而被称为云中的数据库SQL Azure就是其中一个。SQL Azure常常被作是云关系型数据库,它可以在任何时间提供客户数据应用。


解析:SQL Azure与SQL Server有何异同
解析SQL Azure与SQL Server有何异同

    不过,SQL Azure不是全新的产品,它是基于SQL Server技术构建的,但是又不是简单地移至SQL Server。那么,相对于SQL Server,SQL Azure做了什么样的修改,它与SQL Server存在哪些方面的异同呢。这篇文章,编者将通过一些解析解开这个谜底。

    与本地的SQL Server实例类似,SQL Azure为基于Transact-SQL的数据库访问提供了一个TDS接口。这使得应用程序像使用SQL Server 一样来使用SQL Azure数据库。SQL Azure是一个云端的服务,在管理上跟本地的SQL Server实例有一些小的差异。

    而与本地SQL Server实例不同的是,SQL Azure将逻辑上的管理与物理上的管理分离了出来。虽然可以继续管理数据库、登录、用户和角色,但是微软会管理和配置物理硬件,例如硬盘、服务器和存储。这样,SQL Azure不仅能提供一个大规模的、多租户的数据库服务,还可以提供企业级的可用性、可扩展性、安全性和自我修复能力。

  由于微软负责所有的物理管理,所以SQL Azure和本地的SQL Server实例会在管理、服务提供、Transact-SQL支持、编程模式等方面略有不同。

  首先,在逻辑管理和物理管理方面。

  虽然SQL Azure在管理数据库的物理资源上发挥了积极作用,但是数据库管理员仍然在管理基于SQL Azure的应用程序方面有着举足轻重的作用。使用SQL Azure,数据库管理员仍然需要创建和管理数据库模式(Schema)、统计、调优索引、优化查询以及管理安全性(登录、用户和角色等)等。更多安全管理信息,请参阅MSDN网站上的《在SQL Azure中管理数据库与登录(Managing Logins and Users in SQL Azure)》。

解析:SQL Azure与SQL Server有何异同
Windows Server 2012(图片来源于网络)

  SQL Azure数据库管理与SQL Server数据库在物理管理方面最大的不同是,SQL Azure不仅能够自动复制所有数据来提供高可用性,还可以管理负载均衡。当任何主数据库服务器停止工作的时候,另外一台正常运行的备份数据库会自动接替主服务器,这就是故障转移的功能。而且,这个过程对用户来说是透明的。

  为了提供这一层面的物理管理,用户不能控制SQL Azure的物理资源。举例来说,不能指定数据库或索引驻留的物理硬盘或文件组。因为不能访问计算机的文件系统并且所有的数据都会被自动复制,所以SQL Server的备份和恢复命令在SQL Azure上无效。SQL Azure服务会备份所有的数据库,不过一般用户还无法这样做。

回到顶部阅读

在对T-SQL的支持方面

    第二,在服务提供方面。

  部署本地SQL Server时,一般情况是由数据库管理员或IT部门来准备和配置所需的硬件和软件。而使用SQL Azure,这些任务都由SQL Azure的服务提供程序来完成。

  在创建了一个Windows Azure平台账户之后就可以开始使用SQL Azure数据库了。该账户允许您访问所有服务,例如Windows Azure、SQL Azure和AppFabric,并用来建立和管理您的订阅。


解析:SQL Azure与SQL Server有何异同
最新版SQL Server 2012

  每一个SQL Azure数据库服务都会由微软某个数据中心提供。在SQL Azure上创建一个数据库实例,将好绑定到该数据中心底层的一个SQL Server数据库实例。为了提供负载平衡和高可用性,并且提供多台SQL Server数据库实例作为备份,当前,数据中心已分布于美国北部、美国南部、西欧、北欧、东南亚和东亚,未来还会增加更多数据中心。

  第三是对T-SQL支持方面。

  许多SQL Server Transact-SQL语句可以通过参数指定文件组或物理文件的路径,但是SQL Azure并不支持这些类型的参数,因为它们依赖于物理配置。这种情况下,这些命令被视为部分支持。更多Transact-SQL支持信息,请参阅MSDN网站中《SQL Azure数据库服务中T-SQL的支持(Transact-SQL Support(SQL Azure Database))》。   

解析:SQL Azure与SQL Server有何异同
SQL Azure登录窗口

  注意:Transact-SQL(又称T-SQL),是在Microsoft SQL Server 和Sybase SQL Server上的ANSI SQL实现,不只是实现了ANSI SQL,也为自身数据库系统的特性提供实现支持。目前在Microsoft SQL Server和Sybase Adaptive Server中仍然被使用为核心的查询语言。Transact-SQL是具有批量与区块特性的SQL指令集合,数据库开发人员可以利用它来撰写数据部分的商业逻辑(Data-based Business Logic),以强制限制前端应用程序对数据的控制能力。同时,它也是数据库对象的主要开发语言。

  第四是各自的特性和类型方面。

  SQL Azure并不完全支持SQL Server内所有的特性和数据类型。当前版本的SQL Azure并不支持分析服务、复制、报表服务以及Service Broker。然后,可以将SQL Azure数据库作为数据源或目标数据库,使用本地SQL Server的报表服务器或分析服务器连接SQL Azure。

  因为SQL Azure负责物理管理,所以任何企图直接操作物理资源的语句和选项都被屏蔽掉了,例如Resource Governor、文件组访问或一些关于服务器的数据库定义语言(DDL)语句。另外,也不能够设置服务器选项、SQL跟踪标记(Trace Flag)或SQL Server Profiler以及Database Tuning Advisor。

    总体来看,SQL Azure采用了更先进的架构设计,由微软基于云进行托管,提供的是可扩展、多租户、高可用的数据库服务。SQL Azure Database帮助简化多数据库的供应和部署,开发人员无需安装、设置数据库软件,也不必为数据库打补丁或进行管理。SQL Azure为用户提供了内置的高可用性和容错能力,且无需客户进行实际管理。SQL Azure Database支持TDS和Transact- SQL(T- SQL),客户可以使用现有技术在T?SQL上进行开发,还可以使用与现有的客户自有数据库软件相对应的关系型数据模型。SQL Azure Database提供的是一个基于云的数据库管理系统,它能够整合现有工具集,并提供与客户自有软件的对应性。

  • 正睿合作伙伴
  • 社区
首页 | 注册 | 网站地图 | 通告 | 联系我们
CopyRight(C)2004-2022 Chongqing Zhengrui Technology Co.,Ltd. All rights reserved.
重庆正睿科技有限公司(C)版权所有 未经书面授权 不得转载、复制或建立镜像
渝ICP备11002339号-1  渝公网安备 50010702500475号