Thursday, April 8, 2010

SQL Azure Prep: Part 2

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.

The Story

However, after I downloaded  the Migration Wizard I got this error:


Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=, 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.

The Install

Here is what I learned: On my SQL Server 2005 server running Windows 2003, I had to installed:


Find all my blog posts about SQL Azure here.



No comments:

Post a Comment