Skip to content

shannonlowder.com

Menu
  • About
  • Biml Interrogator Demo
  • Latest Posts
Menu

Migration to Windows Azure SQL Database: Step 3

Posted on November 5, 2013November 5, 2013 by slowder

As promised we’re going to dive into the details on how we would actually migrate the database from your on premise server to Windows Azure SQL Database.  We’re going to go over how to do this with the SQL Database Migration Wizard.  I’ll be honest, going forward we only use SQL Server Data Tools (SSDT), because you get the full database project experience.  And once you tie your project into source control (you all do that, right?) You’re set up for the actual project life-cycle.

Features that won’t work with WASD (today)

Before we dive in, I want to link you to two pages that list some of the features you can’t currently use with Windows Azure SQL Database.  This is the first, and this is the second. Notice I say today, that’s because since I started with Azure SQL Databases, features have been “turned on.”

At the beginning you had no backup strategy at all.  Then, RedGate and a few other companies rolled out services that would snapshot your backup.  It wasn’t necessarily a transactionally consistent backup, but it gave you the ability to create your daily backup, and you could restore this data to a second database (on prem or in the cloud), and restore just the data you lost.

A few months ago, this feature moved to first party.  Microsoft also added a method to ensure transactional consistency on their snapshots.  Depending on the size of your database, this new offering might have a lower price than the third party solutions.  But given the fact it added transactional consistency, that was totally worth the cost change.

Now, if only we could get point in time backups, without having to put in a service request to Microsoft CSS…now that would be even better!

I want to make sure you get two points here;

  1. Windows Azure SQL Database is an evolving product.  I’ve seen changes happen in less than a month.  I’m really excited when I get my email from the Azure Marketing team telling me about all the new features that just went General Availability (GA), or those items just entering preview.
  2. Windows Azure SQL Database isn’t a dedicated private server. You’re sharing it with others, sometimes MANY others.  When you notice there are certain features not supported, ask yourself, “what’s the cost of turning this on for a box with possibly a hundred different SQL workloads”.  If you think the costs are too high, that’s a good indication of why that feature is not yet available in WASD.  This means sometimes you’ll have to alter how you do things. Sometimes it means you’ll have to be more performance and cost conscience.  And that’s something I’ve been preaching for years before moving to the cloud!

Analyzing your database with SQL Database Migration Wizard

During the next phase of the migration, you’ll need to find out if you’re using any features on premise that you can’t use in Azure.  After you download and extract the Migration Wizard, fire it up!

azureStep3-1

When the program opens, you can do a couple things, you could analyze a trace. This is a great tool if you have a program that’s not very well documented in what it does with the database. You can start a replay trace from your on premise server, let it capture your “standard” work load. This could mean running that trace for many hours, possibly for a few days. Please run that trace from the server and not your local machine.

Once you’ve collected the trace, bring it down to your workstation and choose the first option and go. It will churn through your workload.

The steps we’re going to take are just going to look at the database itself. Choose to analyze / migrate your database and click next.

azureStep3-2

You have to authenticate to your local database server, then click next. on the next screen you’ll see a list of your databases. Choose the database you want to migrate, then click next again.

 

 

 

 

azureStep3-4

Next, you can choose to check specific objects or the full database. In this case, we’re checking the whole thing, Adventureworks2008R2.

 

 

 

 

azureStep3-5

Next you see a summary of what’s going to be scripted and checked. Followed by the obligatory are you sure Yes/No.

 

 

 

 

azureStep3-7

Once the wizard has crawled through your database you get a two tab result. The first tab shows you a summary of the results. Scan through looking for red text. These are the items you’ll have to address before moving on to Azure SQL Database. Notice that AdventureWorks is using XML schemas, XML indexes, and a few other no nos.

 

 

 

azureStep3-8

The second tab gives you a script you could execute against an azure database and create your objects there. It also includes comments on things you’ll want to fix before fully moving to Azure.

If you start in the Migration Wizard, you then would have to create a Database Project (in SSDT or not) and then start working through these problems. Some might require program changes, SSIS changes, or other changes outside the database. This becomes the hard part. Deciding how to change the database to make it work. There’s even a chance that this step might reveal problems making the project too expensive to migrate.

 

Next time, I’ll cover how to accomplish these same steps with  SQL Server Data Tools (SSDT).  In the mean time, if you have any questions, send them in.  I’m here to help!

 

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • A New File Interrogator
  • Using Generative AI in Data Engineering
  • Getting started with Microsoft Fabric
  • Docker-based Spark
  • Network Infrastructure Updates

Recent Comments

  1. slowder on Data Engineering for Databricks
  2. Alex Ott on Data Engineering for Databricks

Archives

  • July 2023
  • June 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • October 2018
  • August 2018
  • May 2018
  • February 2018
  • January 2018
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • June 2017
  • March 2017
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • August 2013
  • July 2013
  • June 2013
  • February 2013
  • January 2013
  • August 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • November 2004
  • September 2004
  • August 2004
  • July 2004
  • April 2004
  • March 2004
  • June 2002

Categories

  • Career Development
  • Data Engineering
  • Data Science
  • Infrastructure
  • Microsoft SQL
  • Modern Data Estate
  • Personal
  • Random Technology
  • uncategorized
© 2025 shannonlowder.com | Powered by Minimalist Blog WordPress Theme