Sql-server – Migrate from SQL Server 2000 to 2012 without a 2005 or 2008 instance

migrationrestoresql serversql-server-2000sql-server-2012

I have come across three old databases sitting on SQL Server 2000 which I need to move to 2012. I believe the standard approach is to restore into a 2005 or 2008 instance, update, re-export and finally restore into 2012.

Fine, except we have no 2005 or 2008 instances available.

Are there any workarounds or other methods that might be worth trying?

For information, the databases only contain 15-20 tables and a few views, they appear very simple and the backups are only 100-200MB in size.

Best Answer

No, there is no workaround to upgrading a database directly from 2000 to 2012.

Since you don't have a ton of data, you can do all kinds of things to move the data (but not the database as a whole), including:

  • Import/Export wizard
  • SSIS
  • BCP
  • Manual queries using a linked server from 2012 or an application

However these will not necessarily bring over other things like users, permissions, roles, etc. And not everything will create your objects in the right dependency order. So they are more work and error-prone. In my experience it would be worthwhile to just put up an intermediate instance temporarily and then do two backup+restore operations - which will be easier, faster, and less error-prone than any of the above methods.

If your databases are smaller than 10GB, you can install a copy of Express (free) in a few minutes, and use that. You can download 2008 R2 Express here. I don't think there are any Enterprise features in 2000 around database structure etc. that would block that upgrade (a bigger concern for more modern versions).

If your database is too large for Express, you should be able to find Developer Edition for $49 or so (or even cheaper - I found 2005 on eBay for $37), or if you have an MSDN subscription, you should be able to get any SKU from there.

Or you can get away with using an Evaluation Edition, which is amazingly still being offered for download for older versions (e.g. I found 2008 here), however I'm on a phone so was not able to confirm the download for that version still works.