SharePoint List Migration Approaches

I frequently find myself helping small business ‘migrate’ data from one SharePoint site to another (usually because they rushed into their first site design and realized after the fact, that wanted to start again, but to take some data with them). So, okay, business is business, I’m always happy to help. The challenge is, which approach does one use? So, I’m going to start building and maintaining a list of approaches one can take and try to point out the key benefits and drawbacks.

At this writing, this list is hardly definitive or complete but for a Saturday morning while I hang with my kids as they play Lego Star Wars on the Xbox 360 (great game for kids, I think, fun, challenging and harmless), I thought I’d get this thing started.


Reference Links

Looking for a whack of information, details and goodies on all approaches, try these links:


Save List (or library) as Template (with Content)

This is the quick and handy way of doing this frankly. By saving the list as a template (and choose the ‘include content’) option, you can then go to your list template gallery, save the list to your computer and then upload it to another site and create a new list, based on that list template.


  • Quick, Easy, Efficient
  • Works really well, most of the time


  • Kiss your modified dates, author time stamps and version history goodbye – they aren’t coming with you with this method. If you don’t care about that, then no worries
  • There is a 10MB limit on the size of lists (and this applies to saving site template as well). Thus, if you are planning to use this to ‘move’ a large document library – forget it. You are better off saving your document library as a template *without* content and then using the Windows Explorer view (Actions, Open in Windows Explorer) to cut and paste your data – if in fact, that is manageable for you.  Note: I outline how to overcome the 10MB limit here, though don’t think you’ll be able to use this approach for anything too big … Reference:

Boris Gomiunik has a handy step by step procedure here utilizing save as template, combined with some other techniques, to maintain your metadata as well:


Save Site as Template (with Content)

Like above, you can do the same with a template and the same rules/situations apply. No version history, the site can’t be large (file size), etc. But sometimes you might want to pick up a small site that has considerable customization and make it a subsite of your new site instead. As well, here’s a blog post I wrote ( to explain how to make your *root* site, in your site collection, based on a template (as you need it to add it to the Central Admin gallery.


Export to Spreadsheet (and then import the Spreadsheet)

Personally, I never use this method. It’s a pain, rarely proves fruitful and is more work than necessary. Plus it comes with its own set of other drawbacks. Funny though, most people start here when they don’t know any better, strangely enough. Maybe I’ll be helping encourage folks to abandon that approach now…


Copy from one Datasheet View to the Datasheet View in another list

This can work, but it is now up to you to configure the destination list manually (customizations, custom columns – all gone), thus this is a really inefficient approach as well – and you won’t get your version history with this either.


3rd Party Tools


  • If you have the dough, they exist. Quest, AvePoint each have tools you can buy … if you can spare the change.
  • CopyMove ( Looks very promising as well and the 2 user, single server tool is free to try.


STSADM -o Export

I’ve documented this in another post so I won’t go into a lot of detail here.  But, one approach might be (particularly if you want to bring some version history across), is to export and import the old site, as a new subsite, and then delete the lists and libraries you don’t need.  See how here:–o-export-and-import.aspx


SharePoint Database Exporter

Though I only discovered this today, thus the inspiration as it were, for my post, this looks promising, particularly as the dude has sorted out exporting lists/information and the history.


(Caution): I’m not exactly endorsing this tool as it were, more so, bookmarking it for later (and for myself, that is the reason we blog, kinda, right? So we can find those nuggets easier later) but it looks promising.

As well, I see no mention of an ‘importer’ so I gather it is either underway or it is up to us to figure out how to complete that step. 🙂


SharePoint Designer

SharePoint Designer offers a couple of choices and as of April 1, 2009, became more available to everyone as well (as it is now free). It includes:

  • Export/Import Personal Web Package (I’ve had limited success with this approach) – use with caution (test first, to be sure you are clear what you are doing – you can destroy your destination site if you don’t target the subsite properly
  • Backup Website/Restore Website


Outlook 2007

Now, this won’t apply to every list of course. However, those lists that can interact with Outlook (Announcements, Contacts, Calendars, Document Libraries, Tasks), an approach could simply be (again, you aren’t taking custom column/meta information here, but this is quick and simple):

  1. Connect the source list to Outlook 2007 (2003 won’t work for this as it is ‘write’ in SharePoint’ but only ‘read’ in Outlook 2003′ – 2007 writes both ways)
  2. Create a new list on the new site and connect it with Outlook 2007
  3. Drag and drop your content from the one list to the other – voila!


Access 2007

Thanks to Sarah and Jess, I totally forgot about Access.  Lots of power in that product for giving you a powerful GUI, to your backend SharePoint content. If you have it installed on your machine, you have some great options there.