I found the SQL Azure Migration Wizard v3.2 on CodePlex and I am excited to use it. I was looking for a one-click solution to get my 15 year-old database running on SQL Server 2005 database onto SQL Azure. I wanted to run the tool on the database server itself; the server is in a colocation facility with a fast pipe to the Internet. It would make the transfer faster running it right off the SQL Server to SQL Azure.
However, after I downloaded the Migration Wizard I got this error:
Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies.
I realize that it requires SQL Server 2008 SQL Management Objects (SMO). Because I am running SQL Server 2005, version 10 of that assembly wasn’t on my box all I had was version 9.X.X.X. The easiest way to get it was to install SQL Server 2008 Management Studio Express, this should give me the SMO objects needed. Notice that I didn’t upgrade SQL Server 2005, just installed the SQL Server 2008 Management Studio Express. The 2005 version of SQL Server Management studio was left on the server and I can still use that.
This allowed the SQL Azure Migration Wizard to advance a little father, then I ran into this error:
System.MissingMethodException: Method not found: 'Microsoft.SqlServer.Management.Common.DatabaseEngineType Microsoft.SqlServer.Management.Smo.Server.get_ServerType()'.
Reading the SQL Azure Migration Wizard v3.2 web site a little closer I noted that: “SQL Azure Migration Wizard v3x requires SQL Server 2008 R2 CTP bits to be on the same machine”. So I installed SQL Server 2008 R2 (CTP) Express which gave me the express edition of the Database engine. Choosing carefully in the installation options, I created a SQLExpress named instance and this didn’t affect my SQL Server 2005 running installation.
This worked and I was able to run the Migration Wizard. I didn’t have to upgrade my main database installation to SQL Server 2008, nor SQL Server 2008 R2 (CTP) – I was able to run the SQL Server 2008 Express edition in tandem to with the SQL Server 2005 standard edition.
Here is what I learned: On my SQL Server 2005 server running Windows 2003, I had to installed:
- Microsoft .Net Framework 3.5 SP1
- Windows Installer 4.5
- Windows PowerShell 1.0.
- Microsoft® SQL Server® 2008 Management Studio Express
- Microsoft® SQL Server® 2008 R2 November Community Technology Preview - Express Edition
- SQL Azure Migration Wizard v3.2
Find all my blog posts about SQL Azure here.