Conor vs. SQL Azure/SQL Server 2012

I’m not one for New Year’s Resolutions, but I am going to try to blog a bit more.  It’s hard to describe working at Microsoft, especially as one gets more senior.  There are lots of really smart people.  There’s an ability to work on problems that are very difficult for smaller companies to even try.  The operative description for the recent past has been “extremely busy”.  That’s good for customers, as it means we are building things for you Smile.  We have SQL Server 2012 getting ready for release and we also just released a new version of SQL Azure right before the holidays.

So, I will start posting up some interesting examples around both SQL Server and SQL Azure in upcoming posts – if you have requests, please send them to me.

Today I have a little something that was released by one of the teams to help people evaluate databases to see if they are able to be moved to SQL Azure – it’s free and you don’t need an Azure account (I think you need a Windows Live ID, also free):

SQL Azure Compatibility Assessment

SQL Azure is a service and the scope that is interesting is that of a database.  There are currently no cross-database features in the core engine, and some of the mechanisms that you are using in SQL Server today may not be compatible with SQL Azure without modifications to your application.  In SQL Server 2012, we have a concept called “Contained Data Base” (CDB) that helps enforce that an application does not reference things outside of the database in an uncontrolled manner.  This is not completely implemented in SQL Server 2012 (we have a mechanism called partial CDB that helps you identify external references), but customers wanting to deploy their applications to SQL Azure will eventually want to be CDB-compliant.  You can use this tool to evaluate your apps and see where they are.  This CDB notion is important and useful for many things (for example, it makes it far easier to guarantee that an application works after an HA failover to a second machine – there’s no state that exists only on the primary).

There are some features that aren’t supported yet in the CDB framework.  For example, Distributed Query (DQ) is not currently a feature in CDB.  In most of these cases, it is because the feature was not natively scoped to a database (DQ uses linked servers, which is not a database concept).  I’ll urge customers to start looking to see what kinds of features you need and start asking for them from Microsoft within the CDB framework – we’re very interested in which ones are most used and most important to you, so please try out the tool when you get a chance.

Happy New Year!

Conor Cunningham