今天给大家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 | ExpressWorkgroupStandardEnterpriseEnterprise 版本 | ||
连接性Connectivity | SQL Server Management StudioSQLCMDSQL 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 。 |
- 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 。