Back in March, the SQL Data Services team announced the revamping of the ‘database in the cloud’ offering to include a fully-relational capability versus the Entity-Attribute-Value (EAV) model that was unveiled as part of the Azure Services Platform at PDC. More recently, at the Worldwide Partner Conference, we also learned that SQL Data Services is now to be known as SQL Azure, and the Azure Services Platform has been rebranded as the Windows Azure Platform.
Today marks another major step toward the official launch of Windows Azure, the start of the first SQL Azure Community Technology Preview (CTP). In order to participate in the CTP, you first need to procure a SQL Azure token. When your request is fulfilled – be patient, as the team is rolling this out in a controlled fashion – you’ll receive an invitation code that you can then redeem via the SQL Azure portal. On the portal, you can create a database and provide the SQL Server administration account required to access the database (at this point integrated security is not supported). Here for instance, is a snapshot of my portal after creating a new database called azureDB:
The server name is generated for you by the SQL Azure service, and note the "Connection Strings” buttons. Pressing the button at the bottom of the screen (with my azureDB instance selected), yields the following pop-up, which provides the connection strings needed by clients connecting via ADO.NET and the SQL Native Client ODBC driver, the very same mechanisms you’re used to using with on-premises applications!
While you can also access SQL Azure via ADO.NET Data Services, which was the only option to communicate with SQL Azure’s predecessor (SQL Data Services), support of the native protocol of Tabular Data Stream (TDS) enables the tooling and code constructs that you’ve been accustomed to using with standard SQL Server.
In the example below, I access my SQL Azure database via sqlcmd, create a table, and insert some data. It’s important to note here that since SQL Azure doesn’t support heap tables, a clustered index needs to be created before any inserts can be carried out.
Although not officially supported, you can also use SQL Server Management Studio to poke around at your SQL Azure database.
- The server name is what was provided to you when you redeemed your token and is of the form
- Your login (recall, only SQL Server Authentication is supported) should be followed by
- You must specify the database on the Connection Properties tab that you access via the Options>> button on the initial dialog. SQL Azure does not yet support the
USEstatement, so you must specify the database as part of the connection string, and you cannot change the database within a connection.
If you try to connect, you may be greeted with the rather final-sounding message:
This occurs because the default setting of SQL Server Management Studio is to open the Object Explorer, which is not supported for SQL Azure at this point. You can circumvent the startup error by modifying the Environment settings (via Tools>Option) to not open Object Explorer. Or you can instead open a new Query window via the Query>Connection>Connect… dialog (or simply click the New Query button on the toolbar), and then provide the connection options outlined above.
Now when you connect, you’ll still get an error message indicating lack of support for the ANSI_NULLS setting, but you can dismiss the message box and proceed. (Check here for more information on Transact-SQL constructs not supported in SQL Azure).
Now, you can issue a standard SQL query, such as the following that selects the data I added in the sqlcmd session above.
That should get you started, and or more information on SQL Azure, including what aspects of ‘on-premises’ SQL Server are and are not supported in this initial release, check out the following links: