代码之家  ›  专栏  ›  技术社区  ›  BrettRobi

Azure SQL数据库Web与Business Edition

  •  62
  • BrettRobi  · 技术社区  · 14 年前

    除了支持的最大数据库大小之外,Azure SQL数据库的Web版和Business版之间是否存在任何差异?我假设这个命名有一定的意义,但是我找到的所有信息都只是讨论了最大db大小。我想知道是否还有其他区别,如SLA、复制、可伸缩性等。

    有什么线索吗?

    4 回复  |  直到 10 年前
        1
  •  85
  •   David Makogon    11 年前

    除了容量外,这两个版本是相同的。两者都提供相同的复制和SLA。

    编辑2014年4月3日-更新以反映SQL数据库大小限制现在为500GB

    编辑2013年6月17日:自从我最初发布这个答案以来,定价方面有一些变化(但大小仍然是web和;商业版)

    Web版扩展到5GB,而Business版扩展到500GB。另外:新的MSDN计划(在2013年TechEd上宣布;看斯科特古的 blog post 有关更多详细信息),您现在可以获得每个月的货币信贷,用于您想要应用信贷的任何服务,包括SQL数据库(每月高达150美元,具体取决于MSDN层-请参阅 this page 有关新MSDN好处的详细信息)。

    两者都允许您设置最大容量,并且都是按分期付款计划计费的,您的容量每天都会进行评估。完整的定价详情如下 here

    不管是哪种版本,您都有完全相同的功能集—都是关于容量限制的。您可以使用T-SQL轻松地更改最大容量,甚至更改版本。例如,您可以从Web版本开始:

    CREATE DATABASE Test (EDITION='WEB', MAXSIZE=1GB)
    

    您的需求不断增长,因此最多可增加5GB:

       ALTER DATABASE Test MODIFY (EDITION='WEB', MAXSIZE=5GB)
    

    现在您需要更大的容量,因此需要切换到Business Edition层之一:

    ALTER DATABASE Test MODIFY (EDITION='BUSINESS', MAXSIZE=10GB)
    

    如果您需要减少数据库大小,也可以这样做—只需将其改回Web版即可:

    ALTER DATABASE Test MODIFY (EDITION='WEB', MAXSIZE=5GB)
    
        2
  •  3
  •   Shantanu    10 年前

    deprecated 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):

    看看新的 Elastic DB 今天发布的产品(预览版)。这个 pricing page

        3
  •  1
  •   Choco    11 年前

    一个有记录的区别是Business edition支持联合体:

    http://azure.microsoft.com/en-us/documentation/articles/sql-database-scale-out/

    “商业版支持联合体。有关详细信息,请参阅SQL数据库中的联合体和SQL数据库联合体教程…“

        4
  •  0
  •   Thilina Chamath Hewagama    12 年前

    我注意到两个版本之间的行为差异。在我们为QA设置的businessedition中,以下代码片段在应用外键时会出错,除非在添加列后放置了“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