posted 2/9/2012 9:27:51 AM by Amit Bansal - Views: [3651]
SQL Server - Upgrade vs Migration - simple yet confusing
Hi Friends,
I took some time to choose a right title for this blog post. Over the years I have seen people using these terms, “Upgrade” & “Migration” interchangeably. Yes, I know, many of you would think that it is so ‘simple’ as these two have distinct meanings but I am sure, there are other lots that would agree, that it is indeed a little ‘confusing’ or sometimes mean the same thing. There goes my title – “Upgrade vs Migration - simple yet confusing” :).
So, let me explain this in simple words.
‘Upgrade’ simply means upgrading the old version of a product to a new version. So suppose you want to move from SQL Server 2005 to 2008; we would call it an upgrade. We would say: “Upgrading” from SQL Server 2005 to SQL Server 2008.
Many of you would know, we have 2 options here: In-place upgrade and side-by-side upgrade. Now suppose, you want to do a side-by-side upgrade and you set up a new system and perform a SQL Server 2008 installation. You have to now move your data to this new system – and this is what we call as migration – “migrating” data from the old system to a new system. However, the next step or the overall thing is still an upgrade.
We also use the term migration, obviously, when we migrate from Oracle to SQL Server or vice versa, though I prefer the former one :)
Hope this simple post was helpful to some of you !
If you liked this post, do like us on FaceBook at http://www.FaceBook.com/SQLServerGeeks
Regards, Amit Bansal
http://www.twitter.com/A_Bansal http://www.twitter.com/SQLServerGeeks http://www.amitbansal.net/ Visit my FaceBook page at http://www.facebook.com/AmitRSBansal Contribute on SQLServerGeeks.com: visit http://www.sqlservergeeks.com/default-category/write-for-us
Amit Bansal (Member since: 3/12/2011 4:59:54 PM) Follow Amit at Twitter @A_Bansal : Amit Bansal is the CTO of eDominer Systems & Peopleware India. He is a consultant, trainer, writer, speaker & evangelist on SQL Server & Business Intelligence. A seasoned speaker; he speaks at major summits and conferences of Microsoft worldwide including TechED, MCT Summits, MSDN & TechNet conferences. Over the last 8 years, he has consulted, trained & mentored more than 6000 IT professionals on SQL Server & Business Intelligence and worked with top notch blue chip companies worldwide including Microsoft, Infosys, Wipro, RBS, HCL, HP, Siemens, IBM, Accenture, etc. He has delivered more than 400 workshops on SQL Server & Business Intelligence. Apart from holding many Microsoft credentials, he is also a Microsoft Most Valuable Professional (MVP) awardee on SQL Server. He is also one of the first Microsoft Certified Trainer in India. Amit has worked with Microsoft in India and US as a Subject Matter Expert in various capacities participating in OD sessions, technical reviewing, etc. He is also a very active community lead in Asia Pacific. Visit www.amitbansal.net to know more. Subscribe to Amit’s blog and be a member of his technical forum at www.SQLServerGeeks.com - an exclusive SQL Server portal. Visit www.peoplewareindia.com for Corporate Training solutions. FaceBook – http://www.facebook.com/people/Amit-Bansal/525339346 LinkedIn – http://www.linkedin.com/pub/amit-bansal/7/121/755
View Amit Bansal 's profile
I would suggest a different set of terms:
Upgrade: an in-place upgrade of the binaries and data structures (the MDF, NDF and LDF files are also upgraded when you move from one version of SQL Server to another)
Migration: migration of data from one instance of SQL Server to another (usually, but not necessary different versions of SQL Server). This is what you call a side-by-side upgrade.
Re-platforming: migration of data from one data platform (say, Oracle or MySQL) to another (say, SQL Server)
When going from one version of SQL Server to another, I prefer migration to an in-place upgrade. There is less risk and the ability to instantly fall back. While it is rare that the SQL Server in-place upgrade process fails, if it does the fall back usually requires a full restore of the server the database is running on AND a restore of the databases themselves. This can be stressful and time consuming, with some serious downtime. Even if everything goes well, there will still be downtime during the upgrade.
With a migration, once the new instance of SQL Server is up and running, a backup of the original databases can be restored (and upgraded), then tested. If all tests go well, a final restore from the source database to the target database is done and the new server assumes the identity or role of the original server (this can be done through MCSC, NLB, DNS or just renaming servers; it depends on your environment). If the upgrade doesn't go well, leave the original server/database in place; with no perceived downtime from the users perspective.
With re-platforming, it's generally very easy to move the data from one platform to another. What isn't easy is migrating the functionality of stored procedures, functions, packages, etc. This is a process with significant risk and effort.
Leave a comment