首页 > 代码库 > Azure SqlDatabase 系列之2--Azure SQL Database 与 SQL Server 的比较
Azure SqlDatabase 系列之2--Azure SQL Database 与 SQL Server 的比较
(内容整理自msdn Azure Sql Database主题部分内容)
与 SQL Server 相似,Azure SQL Database 为基于 Transact-SQL 的数据库访问公开表格格式数据流 (TDS) 接口。这允许你的数据库应用程序采用与它们使用 SQL Server 相同的方式来使用 Azure SQL Database。
与 SQL Server 管理不同,Azure SQL Database 从物理管理中提取逻辑管理;你继续管理数据库、登录名、用户和角色,但 Microsoft 会管理和配置硬盘驱动器、服务器和存储之类的物理硬件。因为 Microsoft 处理所有物理管理,所以,在管理、设置、Transact-SQL 支持、编程模型和功能方面,Azure SQL Database 和 SQL Server 之间存在一些差异。
下表概述了其中一些主要差异:
数据库大小
Azure SQL Database 目前提供以下版本:
Web Edition,分别为 1 GB 和 5 GB 大小。
Business Edition,分别为 10、20、30、40、50、100、150 GB 大小。
高级版支持最大容量为 500 GB 的数据库。
请务必查看你的数据库的大小以及它适合 Azure SQL Database 所使用哪种数据库容限。如果你的数据库大于 Azure SQL Database 大小限制,则必须检查数据库并确定是否可以将该数据库拆分为若干更小的数据库(即分片),或者将大型数据移到 Window Azure Blob 存储空间中。
身份验证
Azure SQL Database 仅支持 SQL 身份验证。你必须考虑是否需要对你的应用程序使用的身份验证架构进行更改。
SQL Server 数据库版本
Azure SQL Database 基于 SQL Server 2014。如果你想要将 SQL Server 2000 或 SQL Server 2005 数据库迁移到 Azure SQL Database,则必须确保你的数据库与 SQL Server 2014 兼容。你将会发现,最佳的途径是从 SQL Server 2014 迁移到 Azure SQL Database。你可以在迁移到 Azure SQL Database 前内部升级到 SQL Server 2014。
Schema
Azure SQL Database 不支持堆。所有表都必须具有聚集索引,然后才能插入数据。
Transact-SQL 可支持性
Microsoft Azure SQL Database 支持一部分 Transact-SQL 语言。在将数据库部署到 Azure SQL Database 之前,你必须修改脚本,使其仅包括支持的 Transact-SQL 语句。
Use 语句
在 Azure SQL Database 中,USE 语句不在数据库之间切换。若要更改数据库,必须直接连接到该数据库。
价格
你的 Azure SQL Database 订阅的价格是以数据库和所用的版本为基准。任意时间数据进出数据中心的数据传输量需要另行收费。你可以选择是在内部运行你的应用程序代码并且连接到你在数据中心的 Azure SQL Database,还是在 Azure 中运行你的应用程序代码,后者与你的 Azure SQL Database 在同一个数据中心中托管。在 Azure 中运行应用程序代码可避免额外的数据传输费用。
功能限制
Azure SQL Database 目前不支持某些 SQL Server 功能。其中包括:SQL 代理、全文搜索、Service Broker、备份和还原、公共语言运行时和 SQL Server Integration Services。