SQL Azure
Microsoft® SQL Azure™ Database is a cloud-based relational database service built on SQL Server® technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. To sign up for SQL Azure, go to SQL Azure Special Offers and Pricing Information.

For a limited time, new customers can sign up for SQL Azure and get a 1GB Web Edition Database for no charge…and no commitment. This is a great way to try SQL Azure – and the Windows Azure platform – without the risk. For more information go to Windows Azure Platform Introductory Special

Windows Azure
Microsoft is offering a Windows Azure platform 30 day pass, so you can try Windows Azure and SQL Azure for free.
For more information go to Try Windows Azure Platform 30 Day Pass.

SQLAzureMW Supported Languages
  • SQL Azure MWが、国際対応できたことを発表できて光栄に思う。最初の翻訳言語は、日本語です!
  • SQL Azure MW unterstützt nun die deutsche Sprache.
  • SQL Azure MW ondersteunt nu de taal Nederlands.
  • SQL Azure MW ahora soporta el idioma español.
  • SQL Azure MW supporte maintenant la langue française
  • SQL Azure MW 现在支持中文了。
SQLAzureMW and tools requires SQL Server 2008 R2 SP1 bits to run.
SQLAzureMW also requires BCP version 10.50.1600.1 or greater

Project Description
SQL Database Migration Wizard (SQLAzureMW) is designed to help you migrate your SQL Server 2005/2008/2012/2014 databases to Azure SQL Database.

SQL Azure Migration Wizard (SQLAzureMW) is an open source application that has been used by thousands of people to migrate their SQL database to and from SQL Azure. SQLAzureMW is a user interactive wizard that walks a person through the analysis / migration process. One of the main requests from the SQLAzureMW community was to take the user interactive wizard and make it command line driven interface so that it could be used in an automated backup process to back up their SQL Azure schema / data to a data store for disaster recovery. I am excited to let you know that SQLAzureMW now has two tools that can be used from a command line:
  • SQLAzureMWBatchBackup:
    • This is used to create a backup of a database schema and data. The data is downloaded via BCP. The TSQL output from SQLAzureMWBatchBackup can be used by SQLAzureMW or SQLAzureMWBatchUpload.
  • SQLAzureMWBatchUpload:
    • Takes the output from SQLAzureMW or SQLAzureMWBatchBackup and runs it against the target SQL Azure (or SQL Server) server.
Complete documentation for SQLAzureMW, SQLAzureMWBatchBackup and SQLAzureMWBatchUpload can be found on the download site.

The SQLAzureMW tools greatly simplify schema analysis and migration process. If you don’t have an SQL Azure account and have been thinking about moving your data to the cloud (SQL Azure), but have been afraid to try because of “unknowns” like cost, compatibility, and effort? SQL Azure Migration Wizard SQLAzureMW is a free set of open source applications that have been developed by the database community to help you address these issues. SQLAzureMW will help you analyze your SQL Server database for compatibility issues and will migrate your schema and data to SQL Azure. The SQLAzureMW team has worked with Microsoft to take advantage of the Try Windows Azure Platform 30 Day Pass. The Windows Azure platform 30 day pass includes the following resources:
  • Windows Azure
    • Compute: 750 hours of a Small Compute Instance
    • Storage: 20 GB of Storage with 50,000 Storage Transactions
    • Data Transfers: 20 GB out / Unlimited inbound data transfer
    • Relational Database: 1 GB Web Edition SQL Azure database
    • Access Control: 100,000 Transactions
    • Service Bus: 2 Connections
    • AppFabric Caching: 128MB cache

To get your free 30 day pass, go to Try Windows Azure Platform 30 Day Pass. With SQLAzureMW and your 30 day Windows Azure Platform pass, you can safely explore the capabilities of the Windows Azure Platform.

SQLAzureMW Project Details
The SQL Azure Migration Wizard (SQLAzureMW) gives you the options to analyzes, generates scripts, and migrate data (via BCP) from:
  1. SQL Server to SQL Azure
  2. SQL Azure to SQL Server
  3. SQL Azure to SQL Azure
It will also analyze SQL Profiler trace files and TSQL script for compatibility issues with SQL Azure.
  1. If your source is a SQL Server database, SQLAzureMW will list all of the object types (i.e. Tables, Stored Procedures, Views, etc.) and let you decide which ones you want analyzed / scripted. Using the “Advanced” options you can tell SQLAzureMW which compatibility checks to perform and if the data should be migrated.
  2. If your source is a file containing TSQL, then you will be given the option to have SQLAzureMW check the TSQL for incompatibilities and fix where possible or just run the script without any compatibility checking.
  3. You can specify a SQL Profiler trace file for analysis.
SQLAzureMWBatchBackup Project Details
The SQLAzureMWBatchBackup is a command line application that will analyze, create TSQL script of database and backup data (via BCP) from a SQL Server or SQL Azure database. The output of SQLAzureMWBatchBackup can be used in SQLAzureMWBatchUpload.

SQLAzureMWBatchUpload Project Details
The SQLAzureMWBatchUpload is a command line application that will run a TSQL script file (and use BCP to upload data) against a target server. SQLAzureMW and SQLAzureMWBatchBackup can be used to generate the TSQL script and the BCP files that can then be used by SQLAzureMWBatchUpload for uploading to a target server. The target server can be SQL Azure or SQL Server.

There is a config file “NotSupportedByAzureFile.Config” that is used to define what to look for / replace within the SQL generated code. This file uses RegEx expressions and if you see a pattern that you want removed from the SQL Script, you can put the pattern in the config file and specify what you want to replace it with (if anything).

When the SQL script is generated, an analysis window will be displayed telling you what areas need to be fixed prior to running the script against SQL Azure. Once you are satisfied, you can tell the wizard to run your script against SQL Azure and your script will be ran against your cloud database and the success / failed results will be displayed in a wizard window.

SQL Azure Migration Wizard Utils (SQLAzureMWUtils)
SQLAzureMWUtils is a class library that a developer can use to assist them in developing for SQL Azure. To find out more, read the SQLAzureMWBatch documentation.


SQL Azure Migration Wizard does not catch all of the compatibility issues between different levels of SQL Server databases (i.e. level 80, 90, and 100). SQL Azure is based on SQL Server 2008 (level 100). If you are migrating from an older database (level 80 or 90), you should go through the upgrade process first (at least in the dev environment) and once on SQL Server 2008, then migrate to SQL Azure. Here are some great resources to help you with migrating from older versions of SQL Server:
  1. Upgrading to SQL Server 2008 R2
  2. Microsoft SQL Server 2008 Upgrade Advisor
Further Reading

SQL Azure Data Sync CTP2 Registration: While SQLAzureMW is a great tool, a lot of companies are looking for more than just a onetime migration. If you need to keep your data synchronized between on-premise and SQL Azure or SQL Azure to SQL Azure, check out SQL Azure Data Sync. You can find a great walkthrough here: SQL Azure Data Sync Scenario - SQL Server-to-SQL Azure Synchronization

Microsoft SQL Server Migration Assistant (SSMA): The free Microsoft SQL Server Migration Assistant (SSMA) makes it easy to migrate data from Oracle, Microsoft Access, MySQL, and Sybase to SQL Server. SSMA converts the database objects to SQL Server database objects, loads those objects into SQL Server, migrates data to SQL Server, and then validates the migration of code and data.

For information on SQL Azure and the Windows Azure Platform, please see the following resources:
We welcome your feedback! Please let us know if you like this tool or how we can improve it!

Last edited Sep 29, 2011 at 8:46 PM by ghuey, version 64