A virtual team of us released this last Friday. It provides you with "best practices and recomendations for working with the Windows Azure platform". So if you find yourself overwhelmed and intimidated by "The Cloud", this is a really good place to go to get specific recomendations and "best practices".

My contribution to this, largely co-authored with James Podgorski from the Windows Azure Customer Advisory Team (who did the really hard work of discovering customer pain points, and coming up with code to solve them), is inside Developing Windows Azure Applications: the section titled SQL Azure and On-Premises SQL Server: Development Differences. The section contains topics about things that are different between SQL Server and SQL Azure: things that you know about developing with SQL Server (including Entity Framework), that work differently in SQL Azure. Or to be blunt about it: some code that you write for SQL Server will not work in SQL Azure without some modifications.

The section includes these topics:

These topics show you the code changes needed to resolve specific problems. We are also researching more general solutions that might require less code on your part.

The section overview, SQL Azure and On-Premises SQL Server: Development Differences, lists two topics as being in the section that are not linked to:

  • Unsupported Features in SQL Azure: SQL Server commands that are not implemented in SQL Azure
  • Schema Definition Differences: good database schema design principles are slightly different for SQL Azure

These topics will be coming out "real soon now", and the broken link mentioned above will get fixed ASAP.

Are there other obstacles you run into when you take your existing SQL Server knowlege and apply it to SQL Azure? Things that you "know" from developing with SQL Server that "don't work" in SQL Azure? Let me know in the comments to this post, and if they are of general enough interest, I'll get them written up and added. And if you've already solved similar problems in the past, again, let me know.