Monday, October 27, 2008

SQL Data Services (SDS) Update from the S[S]DS Team

The S[S]DS team sent the following e-mail about the result of Sprint #5 to registered users of SQL Data Services (SDS), formerly SQL Server Data Services (SSDS), which runs under the Windows Azure cloud operating system:

This morning, we announced, the latest upgrade of SSDS [Sprint #5] at the PDC2008 conference in Los Angeles. We have also changed the name of the service from SSDS to SDS (SQL Data Services). In order to support this announcement, the documentation on our DevCenter has been updated to cover the new features in this upgrade.

Key members of our team are at the PDC. We hope to be able to meet with many of you who are attending this event. Please come to our talks, stop by our booth, and say "Hello" to us in the services lounge.

The SDS upgrade announced at the PDC will be made available to you in early November and broadly available as a public CTP (Community Technology Preview) in mid-November. [Emphasis added.]

New features announced today:

Additional Query Support

a) Joins

Join query support in SQL Data Services (SDS) allow you to retrieve entities from a container based on a join condition involving properties on different kinds of entities. For example, if you have a container with customer and order entities, a query to find orders for a given a customer would require you join the customer and order entities based on a common property. Since both the customers and orders are in the same container, you query the same container twice (using aliases); first find the customer and then find orders for that customer using a join condition.

b) OfKind

To simplify the join Syntax, SQL Data Services (SDS) has introduced an OfKind function. This function can specified on the queries From clause to distinguish between multiple Kinds within a container.

An example would be

from c in entities.OfKind("Customer") select c

c) Order By

SQL Data Services (SDS) now supports an Order By clause in our query syntax. This optional clause allows you to have your query results returned order by the property of your choosing in either ascending or descending order

d) Take

SQL Data Services (SDS) now supports a Take function in its query language. This new function can be used to restrict the number of entities returned in a given query.

.Net Access Control Integration (SOAP Only)

The .NET Access Control Service is a hosted, secure, standards-based infrastructure for multi-party, federated authentication and rules-driven, claims-based authorization. SQL Data Services (SDS) supports authentication and authorization via tokens issued by the .NET Access Control Service. This allows applications secure not only their own web service layer, but also their SDS-based data layer using the same, declarative access control mechanism.

Other forms of credentials, besides username/password, can be used to obtain a token from the identify provider. They are:

a) X.509 certificate

b) InfoCard

In this release, using token-based authentication scheme with SDS has the following limitations:

a) When communicating with SDS, the token-based security is available only when using the SOAP protocol. For applications using the REST protocol, only the basic authentication is supported (username/password).

b) Requires a .NET Services solution account.


Service users often want to know the usage pattern of the service. Microsoft® SQL Data Services (SDS) user may want to find:

a) How many containers or entities do I have?

b) What is the total storage consumed by an authority or a container?

c) What is the amount storage used by blobs in a container?

d) What is the aggregate number of requests (GET, POST, PUT and so on) sent against an authority or a container?

e) What is the number of request and response bytes sent with a specific authority or container in scope?

The service provides this information as properties on authorities and containers.

User Limits during the public CTP (this will change, when we go "Live")

a) Each user will be allowed 50gb of storage across all Authorities

b) 1000 Containers per Authority

c) 1gb of Blob Entities per Container (up from 500mb)

d) 100mb of Flexible Entities per Container (up from 20mb)

e) Each Blob Entity will be capped at 100mb

For more detail, please visit SDS DevCenter at

Thank You,

The SSDS Team

When this article was posted, there were no more details about the S[S]DS upgrade at the preceding link.

Ryan Dunn posted a link to the What's new in SQL Data Services for Developers Channel9 screencast that includes details on new relational features (joins) an blob support in the upcoming public CTP.

Channel9 presents the Dave Campbell: Inside SQL Services video with the following deck:

Technical Fellow Dave Campbell digs into the "fabric" of Azure's SQL Services. What are the current capabilities of SQL Services and how will they evolve? Can you upload stored procedures to the cloud and expect them to run? What does extending a shrink-wrapped application to the world of distributed cloud services really mean?

You can expect the video to cover much of the content of Dave’s BB15 SQL Server: Database to Data Platform - Road from Server to Devices to the Cloud (Mon 10/27 | 5:15 PM-6:30 PM | 408B).