优秀的编程知识分享平台

网站首页 > 技术文章 正文

SQL Azure与SQL Server两者的对比介绍

nanyue 2024-08-16 20:02:25 技术文章 10 ℃

SQL Azure与SQL Server两者的对比介绍,看完你就懂了!

1、SQL Server介绍

SQL Server数据库服务方式是安装在客户提供的服务器内。客户负责硬件、、软件安装、安全性、数据库备份、灾难恢复等相关的运维工作。需要较高的人为运维成本。

2、SQL Azure介绍

SQL Azure 是微软提供的云数据库平台,属于微软云操作系统平台Windows Azure的一部分。它是在SQL Server技术基础上发展出来的云关系型数据库服务。

目前微软除了SQL Azure数据库服务之外,还提供SQL Azure报表服务 (SQL Azure Reporting)、SQL Azure 数据同步服务(SQL Azure Data Sync)。由微软数据中心托管,硬件、维护、灾难恢复(HADR)和更新等功能由微软数据中心进行管理,数据库的索引和查询优化需要客户自己负责。

客户可以在云服务器SQL Azure上拥有多个数据库实例,但一次只能连接到一个数据库实例,客户不能在数据库实例之间切换、也不能进行多数据库的联合查询。

3、SQL Azure优势

运维成本低:数据库服务申请就可以使用,不需要安装数据库引擎,运维工作大大降低。

高扩展性:SQL Azure能够轻松扩展数据库解决方案。随着数据量的增长,数据库需要纵向扩展和横向扩展。从而保证满足业务的增长。

高可用性:SQL Azure数据库服务会在多台物理服务器上复制多份冗余拷贝,用来维持数据的可用性和业务持续性。

自主管理性:SQL Azure提供了企业级数据中心的规模和能力,省去了日常管理本地SQL Server实例的时间成本。

开发方便:SQL Azure 提供了与SQL Server一致的TDS 接口,研发人员可以采用操作本地SQL Server同样的方式进行系统的开发。

关系型数据模型:SQL Azure服务器和数据库都是逻辑对象,并不对应于物理服务器和数据库。通过用户与物理实现的隔离,SQL Azure使得用户可以将时间专用于数据库设计和业务逻辑上。

数据库版本灵活:SQL Azure数据库提供了Web版和商业版。两个版本都提供可扩展性、自动化的高可用性和自动配置等功能。Web版适用于小型的Web应用,最大支持1GB到5GB的容量。商业版本适用于软件企业开发的业务应用程序,最大支持10GB到50GB的容量。

4、SQL Server与SQL Azure的比较



特性


SQL Server (本地)


SQL Azure


变通方法


数据存储Data Storage


无大小限制


  • Web 版本
  • Bussiness 版本

具体大小和定价信息请参考Pricing Overview.

注意:当您的使用到达分配的大小 (1 GB 或 10 GB),只有 SELECT和 DELETE语句会被执行。 UPDATE和 INSERT语句会抛出错误。



  • 当旧数据可以被移植至另外一个SQL Azure或本地的数据库内时,一个存档过程可被创建。
  • 因为上述的大小约束,建议对数据进行跨数据库分割。创建多个数据库能够充分利用多个节点的计算能力。Azure 模式的最大价值在于其灵活性,在您的需求在最高点时可以按需创建任意多的数据库,在需求降低时删除数据库。最大难题在于编写应用程序能够跨数据库的拓展。一旦该功能被实现,便可拓展至跨任意个数据库。


版本Edition


  • Express
  • Workgroup
  • Standard
  • Enterprise
  • Enterprise 版本




连接性Connectivity


  • SQL Server Management Studio
  • SQLCMD
  • SQL Server 2008 R2 Management Studio 提供了对SQL Azure完整的连接性。先前版本的支持有限。
  • SQLCMD




数据移植Data Migration



  • SQL Server Integration Services, BCP 和 SqlBulkCopyAPI



验证Authentication


  • SQL 验证
  • Windows 验证
  • SQL Server 验证



使用 SQL Server 验证


Schema


没有限制


SQL Azure 并不支持堆表。 所有表必须拥有一个聚集索引才能插入数据。


检查所有脚本,确保所有的表都有一个聚集索引。


TSQL 支持TSQL Supportability



某些 TSQL 命令完全支持。一些部分支持,另一些不支持.

  • 支持的 TSQL: http://msdn.microsoft.com/en-us/library/ee336270.aspx
  • 部分支持的TSQL: http://msdn.microsoft.com/en-us/library/ee336267.aspx
  • 不支持的 TSQL: http://msdn.microsoft.com/en-us/library/ee336253.aspx




“USE” 命令“USE” command


支持


不支持


不支持USE 命令。因为每一个用户创建的数据库可能并不在同一个物理服务器上。所以应用程序必须从多个数据库上取回数据,并在应用程序层面结合这些数据。


事务复制Transactional Replication


支持


不支持


您可以使用BCP 或 SSIS 来按需获得流入本地 SQL Server的数据。您也可以使用SQL Data Sync tool 来保持本地 SQL Server 和 SQL Azure 的同步。


日志传输

Log Shipping


支持


不支持



数据镜像Database Mirroring


支持


不支持



SQL Agent


支持


SQL Azure上无法运行SQL agent/jobs


您可以在本地SQL Server上运行 SQL agent 并连接至SQL Azure


服务器选择项Server options


支持


  • 支持一些系统视图 (http://msdn.microsoft.com/en-us/library/ee336238.aspx)


大多系统层面的元数据被禁用了,因为在云端提供服务器层的信息无意义。


连接限制Connection Limitations



为了给该节点上所有租户提供公平的使用体验,有如下情况的连接可能被关闭:

  • 过度资源使用
  • 长时间运行查询 (超过 5 mi分钟)
  • 在 BEGIN TRAN 和 END TRAN内长时间运行的单个事务 – (超过 5 分钟)
  • 空闲连接– (超过 30 分钟)




SSIS


可以在本地运行SSIS


无法在SQL Azure内运行SSIS


本地运行 SSIS ,并以ADO.NET provider连接至SQL Azure 。

最近发表
标签列表