Question

Is there any difference between the Web Edition and Business Edition of Azure SQL Database other than the maximum supported database sizes? I'm assuming the naming has some significance but all of the information I find simply talks about the max db size. I want to know if there are any other differences such as SLA, replication, scalability, etc.

Any clues?

Was it helpful?

Solution

The two editions are identical except for capacity. Both offer the same replication and SLA.

EDIT April 3, 2014 - Updated to reflect SQL Database size limit now at 500GB

EDIT June 17, 2013: Since I originally posted this answer, a few things have changed with pricing (but the sizing remains the only difference between web & business editions)

Web Edition scales to 5GB, whereas Business Edition scales to 500GB. Also: with the new MSDN plans (announced at TechEd 2013; see ScottGu's blog post for more details), you'll now get monthly monetary credits toward any services you want to apply your credits to, including SQL Database (up to $150 per month, depending on MSDN tier - see this page for details around the new MSDN benefits).

Both allow you to set maximum size, and both are billed on an amortized schedule, where your capacity is evaluated daily. Full pricing details are here. You'll see that the base pricing begins at $4.995 (up to 100MB), then jumps to $9.99 (up to 1GB), and then starts tiered pricing for additional GB's.

Regardless of edition, you have the exact same set of features - it's all about capacity limits. You can easily change maximum capacity, or even change edition, with T-SQL. For instance, you might start with a Web edition:

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

Your needs grow, so you bump up to 5GB:

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

Now you need even more capacity, so you need to switch to one of the Business Edition tiers:

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

If you ever need to reduce your database size, that works just fine as well - just alter right back to Web edition:

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

OTHER TIPS

Web and Business Editions are being deprecated. Check out the latest editions of Azure SQL DB (Basic, Standard, Premium) here : http://azure.microsoft.com/en-us/pricing/details/sql-database/

You can also find info on latest features in SQL DB V12 here : http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/

Edit (4/29) :

Check out the new Elastic DB offering (Preview) announced at Build today. The pricing page has been updated with Elastic DB price information.

A documented difference is the Business edition supports Federations:

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

"Federations are supported in the Business edition. For more information, see Federations in SQL Database and SQL Database Federations Tutorial ... "

I have noticed a behavioral difference between the two versions. In the Business edition we have set up for QA, the following code snippet gets an error when applying the foreign key unless a "GO" is placed after adding the column. Then it works fine. This is not needed in the Web edition databases we have for development.

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top