Click here to monitor SSC

Developer, manager and marketing idiot. I've been working at Red Gate since 2005 on products as diverse as Red Gate Cloud Services, SQL Data Compare and ANTS Performance Profiler. I do a lot of DIY and home-brew because there's only so much time I can stare at a monitor.

How "not" to update SQL Azure – updated

Published 8 August 2011 9:54 pm

For an update to this article please read my new blog post.

How “not” to update SQL Azure – continued

Well what an eventful day in “The Cloud” yesterday was, and I don’t reckon today is going to be much better.

On Friday 5th August we received an error about SQL Azure Backup from a customer. Suddenly the program would no longer connect to SQL Azure, I assumed something had changed in his database so I postponed investigating until Monday.

Also on Friday I was experimenting with the new BACPAC CTP and I couldn’t get DacImportExportCli.exe or the API to connect to my Azure databases at all. The program was simply failing at first attempt with.

ExtractDac: Failure Extracting Database ‘widgetdev’ Microsoft.SqlServer.Management.Sdk.Sfc.EnumeratorException: Failed to retrieve data for this request. —> Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. —> System.Data.SqlClient.SqlException: Reference to database and/or server name in ‘master.sys.databases’ is not supported in this version of SQL Server.
   at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql

I didn’t think much more of it until I came into the office on Monday only to be greeted by many more errors from SQL Azure Backup. It seems the program simply wouldn’t work but bizarrely only in Western Europe. After some investigation it seems our SQL Server identification routine was failing to recognise SQL Azure anymore. This was due to Microsoft having quietly updated the Western Europe data centre to use a new version of SQL Azure based on the Denali codebase. This can be seeing by comparing the result of..

select SERVERPROPERTY(‘EngineEdition’)

Northern Europe = Microsoft SQL Azure (RTM) – 10.25.9644.0   Jun 16 2011 16:24:06   Copyright (c) Microsoft Corporation

Western Europe = Microsoft SQL Azure (RTM) – 11.0.1440.26   Jul 11 2011 17:50:21   Copyright (c) Microsoft Corporation

Thanks to Microsoft for the huge amount of notice given for this major (and breaking) change. As changing the Major.Minor version of a product is to my mind no doubt a breaking change. The only mention of this that I had come across was posted just a couple of weeks ago.

http://blogs.msdn.com/b/windowsazure/archive/2011/07/13/announcing-sql-azure-july-2011-service-release.aspx

However almost no details were given about the speed of rollout. How are tools vendors meant to test products against a platform with no notice? This is completely unacceptable to my mind. We need to be given far more explicit notice about breaking changes like this. I mean even Microsoft products such as DacImportExportCli.exe were unprepared and have been broken.

We need a much better notification system and ideally some datacentre that is designated as the first roll-out location so that third party tools can be tested before breaking changes are rolled out to customers live systems.

In case you’re wondering how to tell if the SQL Server you are connected to is SQL Azure or not you can use the following property which returns 5 if the server is SQL Azure.

select SERVERPROPERTY(‘EngineEdition’)

I am so not impressed by Microsoft right now I can barely contain my fury.

7 Responses to “How "not" to update SQL Azure – updated”

  1. Patrick Wood says:

    Microsoft is providing updates about every 3 or 4 months to SQL Azure so it does pay to stay informed.

    If you go to the Windows Azure Team Blog at http://blogs.msdn.com/b/windowsazure/ and sign up for Emails or RSS feeds for this blog you should be notified of any other changes like this.

    Another good place to keep up to date is Microsoft SQL Azure Forum at http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/threads where you can get their feed.

  2. timothyawiseman@gmail.com says:

    And this is precisely the reason that I am somewhat leary of using any cloud based service for anything which is considered mission critical.

    Cloud service providers can and do make changes all the time. Normally, this is a good thing. Gmail is substantially better now than it was when I first started using it, and I have never once had to bother with installing new software for it. But if a change is made that you dislike, or worse that breaks the platforms compatibility with other products, you do not generally have the recourse of continuing to use the old version.

    I love many things about cloud services, and use a large number of them personally, but they expose you to dependence on the service provider with very little recourse if they make a change you do not like. Because of that, I try to enjoy the convenience without ever relying on them in a major way in either my professional or personal life.

  3. so22 says:

    Hey Richard,

    If you update your client side bits with the latest release it should all work.

    http://social.msdn.microsoft.com/Forums/en-US/sqlazurelabssupport/thread/dd79696f-88fd-4c52-912d-a50f35ab01ab

    These bits are still in CTP and provided as a preview.

  4. Richard Mitchell says:

    I do try to keep track of the Azure Blog and the Forum however I could see no announcement that the move to SQL Azure (Denali) was going to happen in Western Europe around the 5th of August and that the version number reported was going to be changing. The closest is some comment around “We’ll implement these upgrades over the coming weeks in all our global datacenters.” which is nowhere near clear enough in my opinion.

    What happened to good old release notes?

    What I’m saying is there should be a clear and authoritative list of upgrades and changes to the Azure platform and possibly even one small test centre where tools vendors can test the changes before having them made live to customers.

    (Thanks for the update to DacImportExport I’ll experiment with them today)

  5. Richard Mitchell says:

    Yay! The DACImportExport Update works :)

    Also to take on Timothy’s point. I actually really like Azure, the main reason being I don’t have to worry about the configuration or update of the machines unless I actually want to. All I have to worry about is getting my packages to deploy properly.

    It is a moving target, and I understand that, but I strongly believe that something went wrong here.

  6. Patrick Wood says:

    The information was in an article titled “Announcing: SQL Azure July 2011 Service Release”. I can see how that would not ring any alarm bells since most Service Releases require no updates on our computers.

  7. Richard Mitchell says:

    That was the announcement I quoted. I just didn’t think “over the coming weeks” was an accurate enough statement.

    I agree that contains plenty for people who are just using Azure via SSMS but that wasn’t the problem I faced, I wanted the detailed information about changes and ideally access to the new SQL Azure instances before they were widely rolled out so the tool could be tested.

Leave a Reply