SQL Azure vs. SQL Server
SQL Azure vs. SQL Server
SQL Server
Authors
Dinakar Nethi, Niraj Nagrani
Technical Reviewers
Michael Thomassy, David Robinson
Published
April 2010
Summary
SQL Azure Database is a cloud-based relational database service from Microsoft. SQL Azure
provides relational database functionality as a utility service. Cloud-based database solutions
such as SQL Azure can provide many benefits, including rapid provisioning, cost-effective
scalability, high availability, and reduced management overhead. This paper compares SQL
Azure Database with SQL Server in terms of logical administration vs. physical administration,
provisioning, Transact-SQL support, data storage, SSIS, along with other features and
capabilities.
Copyright
This is a preliminary document and may be changed substantially prior to final commercial
release of the software described herein.
The information contained in this document represents the current view of Microsoft Corporation
on the issues discussed as of the date of publication. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on
the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented
after the date of publication.
This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES,
EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting
the rights under copyright, no part of this document may be reproduced, stored in, or introduced
into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written
permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
Microsoft, ADO.NET Data Services, Cloud Services, Live Services, .NET Services, SharePoint
Services, SQL Azure, SQL Azure Database, SQL Server, SQL Server Express, Sync
Framework,
Visual Studio, Windows Live, and Windows Server are trademarks of the Microsoft
group of companies.
2
Contents
...................................................................................................................................................... 1
Similarities and Differences .......................................................................................................... 4
Logical Administration vs. Physical Administration ................................................................... 4
Provisioning ............................................................................................................................... 4
Transact-SQL Support .............................................................................................................. 5
Features and Types .................................................................................................................. 5
Key Benefits of the Service ........................................................................................................... 5
Self-Managing ........................................................................................................................... 5
High Availability ......................................................................................................................... 6
Scalability .................................................................................................................................. 6
Familiar Development Model .................................................................................................... 6
Relational Data Model ............................................................................................................... 6
3
Similarities and Differences
Similar to an instance of SQL Server on your premises, SQL Azure exposes a
tabular data stream (TDS) interface for Transact-SQL-based database access.
This allows your database applications to use SQL Azure in the same way that
they use SQL Server. Since SQL Azure is a service, administration in SQL
Azure is slightly different.
Unlike administration for an on-premise instance of SQL Server, SQL Azure
abstracts the logical administration from the physical administration; you
continue to administer databases, logins, users, and roles, but Microsoft
administers and configures the physical hardware such as hard drives,
servers, and storage. This approach helps SQL Azure provide a large-scale
multi-tenant database service that offers enterprise-class availability,
scalability, security, and self-healing.
Since Microsoft handles all of the physical administration, there are some
differences between SQL Azure and an on-premise instance of SQL Server in
terms of administration, provisioning, Transact-SQL support, programming
model, and features. For more information, see Guidelines and Limitations
(SQL Azure Database).
Provisioning
When preparing an on-premises SQL Server deployment, it may be the role of
the DBA or IT department to prepare and configure the required hardware and
software. When using SQL Azure, these tasks are performed by the SQL Azure
provisioning process.
You can begin provisioning your SQL Azure databases after you create a
Windows Azure Platform account. This account allows you to access all the
services, such as Windows Azure, AppFabric, and SQL Azure, and is used to set
up and manage your subscriptions.
4
Each SQL Azure subscription is bound to one SQL Azure server within one of
the Microsoft data centers. Your SQL Azure server is an abstraction that
defines a grouping of databases. To enable load-balancing and high
availability, databases associated with your SQL Azure server may reside on
separate physical computers within the Microsoft data center. Currently our
data centers are located at Chicago (North Central US), San Antonio (South
Central US), Dublin (West Europe), Amsterdam (North Europe), Singapore
(Southeast Asia) and Hong Kong (East Asia). More data centers will likely be
added in future.
For more information about provisioning, see SQL Azure Provisioning Model.
Transact-SQL Support
Many SQL Server Transact-SQL statements have parameters that allow you to
specify file groups or physical file paths. These types of parameters are not
supported in SQL Azure because they have dependencies on the physical
configuration. In such cases, the command is considered partially supported.
For more information about Transact-SQL support, see Transact-SQL Support
(SQL Azure Database).
Self-Managing
SQL Azure offers the scale and functionality of an enterprise data center
without the administrative overhead that is associated with on-premise
instances of SQL Server. This self-managing capability enables organizations
to provision data services for applications throughout the enterprise without
adding to the support burden of the central IT department or distracting
technology-savvy employees from their core tasks in order to maintain a
departmental database application.
With SQL Azure, you can provision your data storage in seconds. This reduces
the initial costs of data services by enabling you to provision only what you
need. When your needs change, you can easily extend your cloud-based data
storage to meet those needs.
5
High Availability
SQL Azure is built on proven Windows Server and SQL Server technologies, and
is flexible enough to cope with any variations in usage and load. The service
replicates multiple redundant copies of your data to multiple physical
servers to maintain data availability and business continuity. In the case of
a hardware failure, SQL Azure provides automatic failover to ensure
availability for your application.
Scalability
A key advantage of SQL Azure is the ease with which you can scale your
solution. As data grows, databases need to either scale up or scale out.
Scale up always has a ceiling whereas scale out has no virtual limits. A
common scale out technique is data-partitioning. After partitioning your
data, the service scales as your data grows. A pay-as-you-grow pricing model
makes sure that you only pay for the storage that you use, so that you can
also scale down the service when you do not need it.
6
Feature SQL Server SQL Azure Mitigation
(On-premise)
• Supported TSQL:
http://msdn.microsoft.com/en-
us/library/ee336270.aspx
• Partially Supported TSQL:
http://msdn.microsoft.com/en-
us/library/ee336267.aspx
7
Feature SQL Server SQL Azure Mitigation
(On-premise)
• Unsupported TSQL:
http://msdn.microsoft.com/en-
us/library/ee336253.aspx
Transactional Supported Not supported You can use BCP or SSIS to get
Replication the data out on-demand into an on
premise SQL Server. You can also
use the SQL Data Sync tool to keep
on-premise SQL Server and SQL
Azure in sync.
SQL Agent Supported Cannot run SQL agent/jobs on SQL You can run SQL agent on on-
Azure premise SQL Server and connect to
SQL Azure
Server options Supported • Some system views are supported The idea is most system level
(http://msdn.microsoft.com/en- metadata is disabled as it does not
us/library/ee336238.aspx) make sense in a cloud model to
expose server level information
SSIS Can run SSIS on- Cannot run SSIS in SQL Azure Run SSIS on site and connect to
premise SQL Azure with ADO.NET provider
8
References:
• SQL Azure Portal
• SQL Azure Developer Center
• SQL Azure Team Blog