除了支持的最大数据库大小之外,Azure SQL 数据库的 Web 版和商业版之间是否有任何区别?我假设命名具有一定的意义,但我发现的所有信息都只是谈论最大数据库大小。我想知道是否还有其他差异,例如 SLA、复制、可伸缩性等。
有什么线索吗?
除了支持的最大数据库大小之外,Azure SQL 数据库的 Web 版和商业版之间是否有任何区别?我假设命名具有一定的意义,但我发现的所有信息都只是谈论最大数据库大小。我想知道是否还有其他差异,例如 SLA、复制、可伸缩性等。
有什么线索吗?
除了容量外,这两个版本是相同的。两者都提供相同的复制和 SLA。
编辑 2014 年 4 月 3 日 - 更新以反映 SQL 数据库大小限制现在为 500GB
编辑 2013 年 6 月 17 日:自从我最初发布此答案以来,定价发生了一些变化(但尺寸仍然是网络版和商业版之间的唯一区别)
网页版可扩展至 5GB,而商业版可扩展至 500GB。另外:通过新的 MSDN 计划(在 TechEd 2013 上宣布;有关更多详细信息,请参阅 ScottGu 的博客文章),您现在将获得每月货币积分,用于您想要应用积分的任何服务,包括 SQL 数据库(每月最高 150 美元) ,取决于 MSDN 层 - 有关新 MSDN 优势的详细信息,请参阅此页面)。
两者都允许您设置最大大小,并且都按摊销时间表计费,每天评估您的容量。完整的定价细节在这里。您会看到基本定价从 4.995 美元(最大 100MB)开始,然后跃升至 9.99 美元(最大 1GB),然后开始对额外 GB 进行分层定价。
无论版本如何,您都拥有完全相同的功能集 - 都是关于容量限制的。您可以使用 T-SQL 轻松更改最大容量,甚至更改版本。例如,您可以从 Web 版本开始:
CREATE DATABASE Test (EDITION='WEB', MAXSIZE=1GB)
您的需求不断增长,因此您增加到 5GB:
ALTER DATABASE Test MODIFY (EDITION='WEB', MAXSIZE=5GB)
现在您需要更多容量,因此您需要切换到商业版层之一:
ALTER DATABASE Test MODIFY (EDITION='BUSINESS', MAXSIZE=10GB)
如果您需要减小数据库大小,也可以使用 - 只需更改回 Web 版本:
ALTER DATABASE Test MODIFY (EDITION='WEB', MAXSIZE=5GB)
Web 版和商业版已被弃用。在此处查看最新版本的 Azure SQL DB(基本、标准、高级):http: //azure.microsoft.com/en-us/pricing/details/sql-database/
您还可以在此处找到有关 SQL DB V12 最新功能的信息:http: //azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/
编辑(4/29):
查看今天在 Build 上宣布的新Elastic DB产品(预览版)。定价页面已更新为 Elastic DB 价格信息。
记录在案的区别是商业版支持联合:
http://azure.microsoft.com/en-us/documentation/articles/sql-database-scale-out/
“商业版支持联合。有关详细信息,请参阅 SQL 数据库中的联合和 SQL 数据库联合教程 ...”
我注意到两个版本之间的行为差异。在我们为 QA 设置的商业版中,以下代码片段在应用外键时会出错,除非在添加列后放置“GO”。然后它工作正常。这在我们用于开发的 Web 版本数据库中是不需要的。
IF NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='ASSIGN'
AND TABLE_NAME = 'ASSIGNTARGET_EXCEPTION'
AND COLUMN_NAME = 'EXCESS_WEAR_FLAG')
ALTER TABLE [ASSIGN].[ASSIGNTARGET_EXCEPTION] ADD [EXCESS_WEAR_FLAG] [varchar](1) NULL
-- GO -- placing this here makes this sectino work.
IF NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_SCHEMA ='ASSIGN'
AND TABLE_NAME = 'ASSIGNTARGET_EXCEPTION'
AND CONSTRAINT_NAME = 'CHK_ATEXCPTN_EXCESSWEARFLAG')
BEGIN
ALTER TABLE [ASSIGN].[ASSIGNTARGET_EXCEPTION] WITH NOCHECK ADD CONSTRAINT [CHK_ATEXCPTN_EXCESSWEARFLAG] CHECK (([EXCESS_WEAR_FLAG]='N' OR [EXCESS_WEAR_FLAG]='Y'))
ALTER TABLE [ASSIGN].[ASSIGNTARGET_EXCEPTION] CHECK CONSTRAINT [CHK_ATEXCPTN_EXCESSWEARFLAG]
END