In our previous articles, Introduction to SQL Server 2012 and Windows Azure Overview, we made references to Microsoft’s SQL Azure service. In this article we will take a closer look at its main features in more detail.
SQL Azure is a relational database solution with the capability to support both Windows Azure and on-premise applications with minimum latency. It is considered a managed service and it’s offered by Microsoft to allow you to build applications without concerning yourself about the storage they’ll use. Being a cloud service, SQL Azure gives you all the benefits of the cloud including:
- The hardware and software that support the SQL database are all managed by Microsoft
- Patching and maintenance are also managed by Microsoft
- High availability and fault tolerance are guaranteed by an SLA (Service-level agreement)
- Per usage billing and the availability to scale up or down whenever you have the need
All these features contribute to SQL Azure’s eased management. The service-level agreement is backed up by powerful and extremely secure datacenters offering you maximum protection of your databases. SQL Azure is built entirely on top of SQL Server and offers most of SQL Server’s features, such as the Tabular Data Streams (TDSs) for connecting, databases with tables, views, stored procedures, indexes, etc. They are all managed using the standard T-SQL language. SQL Azure allows you to store up to 150 GB of information in your database. If you need more storage for a database, you will have to spread it out over multiple databases and use parallel queries
Keep in mind that SQL Azure is secure by default and you have to create firewall rules to enable access to the service. It uses port 1433 and it must be open for the client application as well. Any open connection, being inactive for 30 minutes or using excessive resources, is dropped.
Note also that the T-SQL statement USE can’t be used in SQL Azure. You are forced to identify the database of your choice in the connection string. If you don’t, you will be connected to the master database by default.
SQL Azure comes in two editions – Web, with maximum database capacity of 5 GB, and Business, with maximum database capacity of 150 GB. The pricing is either on a per-use basis or on a 6-month commitment. Here is a price list cited from Microsoft:
|Database Size||Price Per Database Per Month|
|0 to 100 MB||Flat $4.995|
|Greater than 100 MB to 1 GB||Flat $9.99|
|Greater than 1 GB to 10 GB||$9.99 for first GB, $3.996 for each additional GB|
|Greater than 10 GB to 50 GB||$45.954 for first 10 GB, $1.998 for each additional GB|
|Greater than 50 GB to 150 GB||$125.874 for first 50 GB, $0.999 for each additional GB|
Be aware that every portion of a GB is a billed GB and the size is calculated on a daily basis taking into account the maximum capacity during that day. The bills you get, however, are monthly. Microsoft has recently changed the names for the Azure services in their billings. That’s why you will get a bill for SQL database, not SQL Azure. Here is a list of all the name changes on the Microsoft billing portal:
|Prior Service Name||New Service Name|
|Windows Azure Compute||Cloud Services|
|Windows Azure Platform – All Services||All Services|
|Windows Azure CDN||CDN|
|Windows Azure Storage||Storage|
|Windows Azure Traffic Manager||Traffic Manager|
|Windows Azure Virtual Network||Virtual Network|
|AppFabric Service Bus||Service Bus|
|AppFabric Access Control||Access Control|
|SQL Azure||SQL Database|
|SQL Azure Reporting Services||SQL Reporting|
We already investigated the SQL Azure Data Sync service in our previous article, Introduction to SQL Server 2012. It eases your work with SQL Azure even more by simplifying the process of synchronization between your SQL Azure and on-premise SQL databases. It even gives you the ability to choose which exact columns you would like to sync. By using SQL Azure Data Sync you can eliminate the boundaries between your databases and easily move to and from the cloud whenever you need to. You can also use it for replicating your data across different geographical locations to enhance the worldwide experience of your users.
Rest assured that Microsoft has implemented a lot of security measures to protect your data stored in the cloud, including SQL Authentication and IP filtering. SQL Azure doesn’t yet support Transparent Data Encryption (TDE). It uses only the Tabular Data Stream (TDS) connection protocol. You can implement another form of application encryption if required. However, the SQL Azure Data Sync service does encrypt all the connections between its components, such as between the on-premise database and the cloud.
SQL Azure also enjoys most of the security benefits related to all the Microsoft cloud solutions discussed previously in the article Windows Azure Overview Part 4: Security.