SQL Azure and Windows Azure

[This article was contributed by the SQL Azure team.]

I have been deep diving into SQL Azure by blogging about circular references and connection handling for the last couple of months – which are great topics. However, in an internal meeting with the Windows Azure folks last week, I realized that I hadn’t really talked about what SQL Azure is and how to get started with SQL Azure. So I am going to take a minute to give you my unique perspective on SQL Azure and how it relates to our brethren, Windows Azure.

SQL Azure is a cloud-based relational database service built on SQL Server technologies. That is the simplest sentence that describes SQL Azure. You can find more of a description here.

Windows Azure

SQL Azure is independent from Windows Azure. You don’t need to have a Windows Azure compute instance to use SQL Azure. However, SQL Azure is the best and only place for storing relational data on the Windows Azure Platform. In other words, if you are running Windows Azure you probably will have a SQL Azure server to hold your data. However, you don’t need to run your application within Windows Azure account just because you have your data stored in SQL Azure. There are a lot of clients and platforms other than Windows Azure that can make use of SQL Azure, including PowerPivot, WinForms applications (via ADO.NET), JavaScript running in the browser (via OData), Microsoft Access, and SQL Server Reporting Services to name a few.

Windows Azure Platform Training Kit

You don’t have to download the Windows Azure Platform Training Kit in order to use SQL Azure. The Platform Training kit is great for learning SQL Azure and getting started however it is not required.

Here are some of the highlights from the June 2010, Windows Azure Platform Training Kit:

Hands on Labs

· Introduction to SQL Azure for Visual Studio 2008 Developers

· Introduction to SQL Azure for Visual Studio 2010 Developers

· Migrating Databases to SQL Azure

· SQL Azure: Tips and Tricks

Videos

· What is SQL Azure? (C9 - VIDEO) . You can also view this video here without downloading the Training Kit.

Presentations

· Introduction to SQL Azure (PPTX)

· Building Applications using SQL Azure (PPTX)

· Scaling out with SQL Azure.

Demonstrations

· Preparing your SQL Azure Account

· Connecting to SQL Azure

· Managing Logins and Security in SQL Azure

· Creating Objects in SQL Azure

· Migrating a Database Schema to SQL Azure

· Moving Data Into and Out Of SQL Azure using SSIS

· Building a Simple SQL Azure App

· Scaling Out SQL Azure with Database Sharding

Windows Azure SDK

For Windows Azure, there is a development fabric that runs on your desktop to simulate Windows Azure; this is great tool for Windows Azure development. This development fabric is installed when you download and install the Windows Azure SDK. Installing the SDK is not required for SQL Azure. SQL Server 2008 R2 Express edition is the equivalent of SQL Azure on your desktop. There is no SQL Azure development fabric, nor a simulator for the desktop. This is because SQL Azure is extremely similar to SQL Server, so if you want to test your SQL Azure deployment on your desktop you can test it in SQL Server Express first. They are not 100% the compatible (details here); however you can work out most of your Transact-SQL queries, database schema design, and unit testing using SQL Server express.

I personally use SQL Azure for all my development, right after I design my schemas in SQL Server Express edition. It is just as fast for me as SQL Server Express, as long as my queries are not returning a lot of data, i.e. large number of rows with lots of varbinary(max) or varchar(max) data types.

Downloads

So if you don’t need the Windows Azure Platform Training Kit, nor the Windows Azure SDK in order to use SQL Azure, what should you download and install locally? If you are developing on SQL Azure, I recommend the SQL Server Management Studio Express 2008 R2. SQL Server Management Studio provides some of the basics for managing your tables, views, and stored procedures, and also helps you visualize your database. If you are using PowerPivot to connect to a “Dallas” or private SQL Azure database you just need to have PowerPivot installed. The same goes for all the other clients that can connect to SQL Azure, obviously you have to have them installed.

Purchase

If you are going to store your Windows Azure data in SQL Azure, then there are some good introductory and incentive plans, which can be found here. If you just want to use SQL Azure, then you want to purchase the “Pay as you Go” option from this page. That said, there are always new offers, so things could change after this blog post.

Summary

You can use SQL Azure independently of Windows Azure and there is no mandatory software required for your desktop to use or develop SQL Azure. However, if you are using Windows Azure, SQL Azure is the best storage for your relational data. Do you have questions, concerns, comments? Post them below and we will try to address them.