SQL Database Migration Wizard (SQLAzureMW) is designed to help you migrate your SQL Server 2005/2008/2012 databases to Azure SQL Database. Requirements
SQLAzureMW and SQLAzureMWBatch requires SQL Server 2008 R2 bits to run.SQLAzureMWBatch Project Details
The SQL Azure Migration Wizard Batch (SQLAzureMWBatch) is a command line application that will run a TSQL script file (and use BCP to upload data) against a target server. SQLAzureMW can be used to generate the TSQL script and the BCP files that can then be used by SQLAzureMWBatch for uploading to a target server.SQLAzureMW Project Details
The SQL Azure Migration Wizard (SQLAzureMW) gives you the options to analyzes, generates scripts, and migrate data (via BCP) from:
- SQL Server to SQL Azure
- SQL Azure to SQL Server
- SQL Azure to SQL Azure
It will also analyze SQL Profiler trace files and TSQL script for compatibility issues with SQL Azure.
- 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.
- 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.
- You can specify a SQL Profiler trace file for analysis.
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.Future Enhancements
- Modify SQLAzureMWBatch to script / extract data from a source database.
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:
- Ultimate guide for upgrading to SQL Server 2008: (http://blogs.technet.com/dataplatforminsider/archive/2008/12/04/ultimate-guide-for-upgrading-to-sql-server-2008.aspx)
- Microsoft SQL Server 2008 Upgrade Advisor: (http://www.microsoft.com/downloads/details.aspx?familyid=F5A6C5E9-4CD9-4E42-A21C-7291E7F0F852&displaylang=en)
- SQL Server 2008 Upgrade Assistant: (http://www.scalabilityexperts.com/default.asp?action=article&ID=43)
Microsoft SQL Server Migration Assistant 2008 for MySQL v1.0 CTP1: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en
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!