Reach for the Sky
After populating the database, I tested connecting to SQL Azure from an ADO.NET application. No additional tools are needed to make the connection. Microsoft provides a Visual Studio add-on called Windows Azure Tools for Microsoft Visual Studio. However, this add-on is not required to create database applications that you run under SQL Azure.
Connecting my Visual Studio 2008 project to SQL Azure using data binding was a snap. First I opened Visual Studio 2008 and selected the File, New Project option. Then, from the New Project dialog I selected Windows Forms application and named the project SQLAzure. Next, I changed the Form's Text property to SQL Azure Demo, then resized the form as a horizontal rectangle, dragged the DataGridView control onto the form, and anchored it all four sides.
To add a SQL Azure data source, I clicked the DataGridView tasks arrow and, on the Choose Data Source drop-down, selected the Add Project Data Source link. This action started the Data Source Configuration wizard. On the Choose a Data Source Type dialog, I selected Database and clicked Next. Next, on the Choose Your Data Connection dialog, I clicked New Connection to display the Add Connection dialog. I initially attempted to add a Microsoft SQL Server (SqlClient) connection. Although the test connection worked, I encountered an error while attempting to add the data source to the project. Instead, I needed to select the Microsoft ODBC Data Source, which displayed the ODBC Add Connection dialog box that Figure 6 shows.

I selected the Use connection string option and entered the connection string that I retrieved earlier from the SQL Azure manager. The connection string that I used was
Driver={SQL Server Native
Client 10.0};Server=tcp:gvlxq1rlrw.database.windows.net;Database=pubs;
Uid=mikeo@gvlxq1rlrw;Pwd=myPassword
Next I saved the connection as pubsConnectionString. Then on the Choose Your Database Objects dialog, I selected the authors table. This action built a DataSet that was capable of adding, editing, and deleting data from the SQL Azure pubs authors table. The total process of building the application took only a couple of minutes and was much like working with a normal SQL Server system. You can see the sample application running in Figure 7.

Occasionally, I experienced issues where I needed to retry connecting to the SQL Azure database. Otherwise, my experience of developing an application on SQL Azure was very much like using an on-premises SQL Server system. Although this demo application was very simple, I found the response time to be subsecond—comparable to an application running locally.
Up in the Air?
Before writing this article, I was unsure about what SQL Azure actually was and how one might use it. After using SQL Azure for a little while, though, I saw its close resemblance to SQL Server and how that made SQL Azure easy to adopt and use. However, differences in schema requirements and limited data types would make it difficult for businesses to port their applications to SQL Azure. Even if they did so, businesses might receive limited benefits from running on SQL Azure, as on-premises SQL Server offers very high scalability and has many options for high availability.
Although admittedly cloud computing is still in its early stages, SQL Azure seems to make the most sense for ISVs looking for a globally accessible database. SQL Azure's biggest strength is that it can be accessed anywhere that you can get the Internet. This could make it a compelling offering for new ISV application development. You can find more information about SQL Azure at www.microsoft.com/windowsazure/sqlazure and from the SQL Azure Team Blog.