- v4.x and v5.x require .NET Framework 4.5
- SQLAzureMW v3x requires SQL Server 2008 R2 SP1 bits to be on the same machine.
- SQLAzureMW v4x requires SQL Server 2012 bits to be on the same machine.
- SQLAzureMW v5x requires SQL Server 2014 bits to be on the same machine.
If you have a question / issue with SQLAzureMW, please post your question via the discussion http://sqlazuremw.codeplex.com/discussions
page.Language Translations (Special Thanks)
- 大和屋貴仁 (Takahito Yamatoya) - Japanese
- 安納 順一 (Junichi Anno) - Japanese
- Oliver Hauth - German
- Sam Vanhoutte - Dutch
- Luis Antonio Soler Barrera – Spanish
- Axel Guerrier – French
- 梁琦 (Mog Liang) – Chinese
- 小朱 (Jeff Chu) - Chinese Traditional (Taiwan)
Visual Studio 2013 SP1
.NET Framework 4.5
Works on Windows 8 and Windows 7 (should work fine on XP or Vista).
Please let us know if you encounter any problems or difficultiesv3.12 & v4.12 & v5.12
v3.11 & v4.11 & v5.11
- Fix program to not check for Sparse columns on a SQL Server 2005 database.
v3.10 & v4.10 & v5.10
- Added Support for new standard service tier S0
- Fixed bug in SQLAzureMWBatchUpload when creating a "Basic" database
- Moved all versions to .NET Framework 4.5
v3.9.17 & v4.0.20 & v 5.0.1
- Removed support for SQL Azure Federations
- Added support for creating databases for basic, standard, and premium service tiers
- Changed connect to server to remember server credentials if you want them saved (see bottom of connect to server screen).
v3.9.16 & v4.0.19 & v5.0
- SQL 2014 SMO changed the way it generates SQL script which required me to refactor how I entered "GO" in the script.
v3.9.15 & v4.0.18
- Got rid of dependency on SQL Server MessageBox
- Worked around problem where SMO does not return server, username, and password when connecting to SQL Database (Azure).
- Created v5.0 to work with SQL Server 2014.
- SQL Server 2014 made changes to spatial indexing which won't work if turned into clustered index. Modified code to work for that
- SQL Server 2014 SMO has a bug when creating drop if exists script on SQL Database. There is no fix for this, so I disabled that feature when exporting from SQL Database.
v22.214.171.124 & v126.96.36.199
- Added -C RAW to BCP input in SQLAzureMW.exe.config
- Added Russian for BCP in SQLAzureMW.exe.config
- Escaped password when connecting to SQL Server
v3.9.14 & v4.0.17
- Changed Regex rule for replacing table hints without a "WITH" statement.
- Changed SQLAzureMWBatchBackup to use recognize options for ScriptDropCreate and ScriptTableAndOrData in config file.
v188.8.131.52 & v184.108.40.206
- SQLAuzreMW has same code base for both SQL Server 2008 R2 and SQL Server 2012. It turns out that SQL Server 2008 R2 is not FEDERATION aware while SQL Server 2012 is FEDERTION aware. This causes scripting differences between engines so I modified the code in the SQLAzureMWUtils library to work correctly with both engines.
v3.9.13 & v4.0.16
- Fixed bug in not putting FEDERATION name between brackets to allow for special characters.
v220.127.116.11 & v18.104.22.168 SQLAzureMWBatchUpload
- Fixed a bug with multi threading in the BCP upload process. Thanks to jarete for identifying the issue and providing a solution!
v3.9.12 & v4.0.15
- Fixed bug that only allowed application to exit if all threads were successful.
v3.9.11 & v4.0.14
- Added the capability of doing a search and replace of a sub string found within the rules engine. For example, you have SELECT col1, col2 FROM Employees (NOLOCK) and now you want to replace "(" with "WITH (" so that the results would be SELECT col1, col2 FROM Employees WITH (NOLOCK). Look for XML property "SearchReplace" in NotSupportedByAzureFile.config to see an example.
v3.9.10 & v4.0.13
- Added dependency checker to see if Microsoft.SqlServer.Smo and Microsoft.ExceptionMessageBox are on the machine SQLAzureMW is being run on. The dependency information is stored in Dependencies.xml.
v22.214.171.124 & v126.96.36.199
- Added rule in NotSupportedByAzureFile.Config to remove DATA_COMPRESSION from indexes.
- Added BCP error handling to examine message to see if it is a warning in which case do nothing.
v3.9.9 & v4.0.12
- Modified SQLAzureMW to allow you to specify a default collation.
v3.9.8 & v4.0.11
- No real bug fixes in this release, but I found that WinForms differs from Windows 7 vs. Windows 8. So, I rebuilt the application on the Windows 8 OS and now the fonts look better for Windows 8 and still seem to run on Windows 7. If you have any font issues, let me know.
v3.9.7 & v4.0.10
- SQL Azure Migration Wizard is proud to announce its seventh translation into an international language: Chinese Traditional (Taiwan)! 小朱 (Jeff Chu) did all of the translation work to Chinese Traditional (Taiwan) and deserves all of the credit.
v188.8.131.52 & v184.108.40.206 SQLAzureMWBatchBackup
- Fixed bug where ALTER TABLE statements did not go through compatibility checker and parser.
v3.9.6 & v4.0.9
- Added the capability to select which database objects you want to backup. To specify which objects to backup, you will need to edit the ObjectSelector.xml file. Inside of that file is documentation on how it works.
v3.9.5 & v4.0.8
- Fixed code to handle an empty string password.
v3.9.4 & v4.0.7
- Fixed code to take all table constraints and move it to the end of generated script.
v3.9.3 & v4.0.6
- Fixed BCP output commands to put quotes around password
v3.9.2 & v4.0.5
- Changed some SQL Azure to SQL Database
- Fixed BCPArgs parsing to remove need for special character checking
v3.9.1 & v4.0.4
- Modified script to move all foreign key constraints to end of TSQL Script
- Fixed bug in SQLAzureMWBatchUpload to check for server type in upload process.
v3.9 & v4.0.3
- Modified code to not rely on SMO for target server.
v3.8.9 & v4.0.2
- Fixed a bug in character counting (look for CrLf or Cr)
v3.8.8 & v4.0.1
- Fixed a bug with identifying comments in SQL to avoid false positives. The major impact of this was on parsing SQL text files.
- Fixed bug that removed USE statement and moved the check to NotSupportedByAzureFile.Config
- Modified NotSupportedByAzureFile.config to look for a MERGE in a regex pattern "SELECT\w\W^;*\sINTO" to avoid false positives.
- Fixed bug with changed a nonclustered index (that had INCLUDE columns) to clustered index
- Fixed bug when reading trace files and getting an event with no text data (null string).
- Fixed bug for user names having a space in them. Put quotes around the name for BCP.
- Removed hard coded trace events to check and added key “TraceEventsToCheck” to application config file.
- Fixed issue with SQLAzureMW not displaying error message when SQL Server client side tools are not installed on the machine.
- Modified SQLAzureMWBatchUpload to do parallel processing.
- No code change. Just modified NotSupportedByAzureFile.Config to remove check for SPARSE columns since SQL Azure now supports SPARSE columns.