How to get to SQL Azure Query Performance Data
This week there is a lot of announcements and excitement around Windows Azure and SQL Azure with the live event put on by Scott Guthrie, Mark Russinovich and Dave Campbell (www.LearnWindowsAzureEvent.com), where they showed the great new enhancements for how to jumpstart your development efforts for the cloud. These included the streamlined signup process, spending caps for accounts which truly make trying Windows Azure risk free, as well as the new billing interface that gives you a real-time look at consumption and spending of your subscription.
One feature I’m excited about is the new online management portal for SQL Azure. It has been updated with design, deployment, administration and tuning features built in. The new Overview screen provides quick links to the different areas of the portal, as well as easy links to help information from msdn online. You can get to the portal either by going to the Windows Azure management portal on https://windows.azure.com and after signing in going to the database section and clicking Manage, or simply browsing to your database name – https://<myserver>.database.windows.net where you substitute your database server’s name for <myserver>.
When I log in I can see my databases and get information about size, usage as well as the ability dive into specific usage. From there I can go into designing the schema, functions and code around my database. If I swap over to the admin page though, I have visibility into not just database size and usage, but also a link to query performance. Clicking this takes me to where I can see profile data from queries.
I can sort and see which calls to the database are most frequent as well as most expensive in terms of resource usage. Further I can select one and dive even deeper to see the execution plan and statistics around the calls. This information is key to making decisions on indexes and design of a well performing database.
In the query plan I can look for table scans or other expensive operations and if it make sense determine whether additional indexes would be useful.