SQL Database Migration Wizard (SQLAzureMW) is designed to help you migrate your SQL Server 2005/2008/2012/2014 databases to Azure SQL Database.
The SQLAzureMW will let you identify a SQL Server 2005 / 2008 database that you want to migrate to SQL Azure or select an existing SQL file that has the commands you want to execute against SQL Azure.
If your source is a SQL Server database, SQLAzureMW will walk you through the different object types (i.e. Tables, Stored Procedures, Views, etc.) and let you decide which ones you want analyzed / scripted. You will be given three options:
- Script to window -- Choose this option to display the SQL script to a wizard window where you can modify it before telling the wizard to script to Azure.
- Script to file -- Choose this option if you want to save your SQL script to a file. You can edit this file in SQL Server Management Studio and run it from there or save it and use the wizard to load and run your file.
- Script to Azure -- Choose this option is you think your database is compatible with SQL Azure. It will prompt your for your Azure credentials and then run the generated script against SQL Azure.
This wizard will automatically try to make changes to your SQL Azure tables / stored procs / view (for example, text columns will become varchar(max) columns). If you have XML schema collections, it will unbind them since XML schema collections are not supported
in the current version of SQL Azure. If you have UDTs defined it will replace them with base type because UDTs are currently not supported in SQL Azure. There are some things like hierarchyID that is not supported by SQL Azure and this program cannot replace
automatically. In cases like this, you will have to refactor your code to use something else before you will be able to migrate to SQL Azure.
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.
Note that this program does not migrate data from your database to SQL Azure. This is something that you will have to do manually (SSIS or DTS (future)) for now.