SQL Azure Import/Export Service CTP Now Available!

New and just launched this week – hosted import and exports! We are happy to announce that DACFx is now available as a SQL Azure cloud service as well. While the client side tools are fully supported and are every bit as important, the new hosted service provides DAC at a new level of convenience to SQL Azure customers. The new service is publically available as a CTP in all SQL Azure datacenters across the world. The service is provided free of charge and no sign-ups or codes are required – just go use it!

The service is designed to directly import and export between SQL Azure and Windows Azure BLOB storage bypassing any need for client side binaries, MSIs or any real work on your part.

To get started using the service, you will need:

  • A SQL Azure server in any datacenter
  • A Windows Azure storage account

The service hosts some public REST endpoints that you use to submit an import or export request. There are a few ways to submit a request:

  1. Use the Windows Azure Portal
  2. Use the reference EXE service client (see next post)
  3. Post HTTP requests directly to the public endpoints

Let’s start with an export. In the video I assume you are starting essentially from scratch:

A couple notes on an export request:

  • Export requests will generate some load on the target database
  • At the beginning of an export request a 0 byte file is written to your storage account

We write a temporary 0 byte file to verify we have write access to the BLOB container you selected. We do not stream your data to your BLOB account during the export process because if the export fails for some reason, you are still charged for storing bits in your BLOB account. We cache your data stream inside the service and the write it out at the end all at once.

Now let’s import a BACPAC back into SQL Azure with the service:

Couple notes on an import request:

  • While the import is in progress, you will actually be able to see your database as an active database
  • We recommend you do not log in to or otherwise modify the database while the import request is in progress

Finally, we do provide some rudimentary status information in this first release. We will add additional details in a subsequent release but for now we can inform you whether your request is Queued, Running, Completed, or Failed.

About these ads

9 Responses to SQL Azure Import/Export Service CTP Now Available!

  1. Brian says:

    About time to see this feature! I have been wondering for the last year when something like this would be available. I have a possible bug. The first time I tried an export, I used the wrong Login name – and subsequently received two error messages (Unable to connect…) in the status dialog. The second time I tried an export, I had everything correct and the export appears to have succeeded (I have a file in blob storage). However, I have no completed message in the status dialog for that export. Shouldn’t there be one?

  2. Will Tam says:

    Thanks for the walk-through video, but I just tried doing this and kept getting the failed message when I check the status in Management Portal. I wish the status messages will give me more detail as to why the export failed.

  3. dacguy says:

    We are tracking a minor issue with status reporting in the portal and it will be addressed in the next portal refresh. In the meantime you can use the EXE as was demonstrated in the second video to get accurate status.

    What details are you getting now? There should be an error message if your export has failed.

    There’s an open thread on this in the SQL Azure forum:

    http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/342f31f0-3f4d-4d1f-956f-eb895ba71bf0

  4. John says:

    I posted this issue to the SQL Azure forums but without any response so thought I’d see if you might be able to shed some light.

    I’m attempting to export a 4.5GB DB and while the export starts and the 0 byte dacpac file is created correctly inj Azure storage the job is still running 20 hours later! Not I can’t imagine this is correct yet there is progress data available apart from the RUNNING status – and more importantly there doesn’t appear to be any way of cancelling the job. (The job does fail if the source DB – which is a copy DB – is deleted as part of a scheduled task.)

    I have been able to backup a much smaller ASPState DB successfully so it is not account or credential issues (although I had my share of those at the start!)

    Any ideas?

    • dacguy says:

      The export request may take a long time depending on traffic conditions, load on the SQL Azure node your database is on, and the type of data inside your database. The next release of the service will inform you of the percentage progress for a request when you check for status.

  5. MrC says:

    Hi,

    Thanks for the post.

    Unfortunately I get the following Import Export Request status when trying to export:

    The underlying connection was closed: An unexpected error occurred on a receive.

    With no blob created.

    Any ideas?

    • dacguy says:

      Like other client traffic to and from SQL Azure, the Import/Export service is subject to connection throttling. The next service release will be a production release and will greatly improve resiliency to these types of events.

  6. [...] What Azure SQL was missing was a proper supported way to make backups for disaster scenarios. Those scenarios would include loss of control over Azure SQL server or human error causing SQL admin to delete whole Azure SQL server. Great new everyone Azure SQL now has tools to mitigate the impact of these scenarios. SQL Azure Import/Export Service CTP is now available. More details on how this works can be found here. [...]

  7. I posted what I feal is a very easy to understand example of how to post to the http endpoint
    http://www.codeproject.com/KB/database/SqlAzureDacExport.aspx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: