SQL Azure与SQL Server的一些对比
SQL Azure 对于开发者和管理员来说应该很容易上手,因为SQL Azure使用相似的关系型数据模型,数据存储于SQL Azure上就和存储于SQL Server上一样。在概念上类似于一个本地SQL Server实例, 一个SQL Azure 服务器就是一组数据库的逻辑组和,是一个独立的授权单位。
在每个SQL Azure 服务器内,您可以创建多个数据库, 每个数据库可以拥有多个表,视图,存储过程,索引和其他熟悉的数据库对象。该数据模型可以很好的重用您现有的关系型数据库设计和Transact-SQL编程技能和经验,简化了迁移现有本地数据库应用程序至SQL Azure的过程。关于更多Transact-SQL 以及其与SQL Azure的关系,请浏览Transact-SQL Support (SQL Azure Database).
SQL Azure 服务器和数据库都是虚拟对象,并不对应于物理服务器和数据库。通过将您与物理实现隔离,SQL Azure 使得您可以将时间专用于数据库设计和为业务增值上。
特性 |
SQL Server (本地) |
SQL Azure |
变通方法 |
数据存储Data Storage |
无大小限制 |
具体大小和定价信息请参考Pricing Overview. 注意:当您的使用到达分配的大小 (1 GB 或 10 GB),只有 SELECT和 DELETE语句会被执行。 UPDATE和 INSERT语句会抛出错误。
|
|
版本Edition |
|
||
连接性Connectivity |
|
||
数据移植Data Migration |
|
||
验证Authentication |
|
使用 SQL Server 验证 |
|
Schema |
没有限制 |
SQL Azure 并不支持堆表。 所有表必须拥有一个聚集索引才能插入数据。 |
检查所有脚本,确保所有的表都有一个聚集索引。 |
TSQL 支持TSQL Supportability |
某些 TSQL 命令完全支持。一些部分支持,另一些不支持.
|
||
“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 |
支持 |
大多系统层面的元数据被禁用了,因为在云端提供服务器层的信息无意义。 |
|
连接限制Connection Limitations |
无 |
为了给在节点上所有租户提供公平的使用体验,有如下情况的连接可能被关闭:
|
|
SSIS |
可以在本地运行SSIS |
无法在SQL Azure内运行SSIS |
本地运行 SSIS ,并以ADO.NET provider连接至SQL Azure 。
|