I've tried to import / export with stsadm but its caused us 3 delays to our project, and caused more problems than we can solve.

I'm looking for a more reliable way to move a top level site from one server to another.

Its a top level site with 1 site collection.

What is the best way to move the site from one server to another?

3 Answers 3


Have you tried STSADM's Backup and Restore operations with the -URL input parameter to use it to target your top level site collection for backup?

Or, if it's SharePoint 2010 you can use the Backup-SPSite PowerShell CMDLET to back up the site collection as well.

Either of these operations will use SharePoint's Backup/Restore APIs instead of the Content Migration APIs (also known as the PRIME APIs) used by the Export/Import operations. They're going to do a more full-fidelity capture of your site collection, and I've found them to be more reliable than the Export/Import operations.


  • +1 and accepted answer. If I can make a simple analogy. Backup and restore is like ghosting the site. ID's of lists remain intact, permissions are completely retained. Most importantly - I used this on a top level site, something Microsoft say is not possible, but it is!
    – user879
    Nov 10, 2010 at 8:08
  • Regarding your last comment on Microsoft's stance on this...this sort of action is now supported by MS in SharePoint 2007 as long as your environment is at least patched up to Service Pack 2 (may be earlier, but I'm pretty sure it SP2) Nov 10, 2010 at 15:42

You can try to the following

  1. Backup you the SQL content Database for your site.
  2. Restore the a new copy of the database (either on the same sql server or different one)
  3. Use stsadm -o addcontentdb to your new server
  4. if you have more than 1 site collection in your db you could delete the others

Remember that if your site collection is using any custom feature/solution you will need them on you new server


Warning this answer is for sharepoint 2010 only:

After a long trial and mistake journey I figured the best way is to deploy everything through wsps and content deployment packages (using Export-SPWeb & Import-SPWeb cmdlets).

to find out more read this. http://technet.microsoft.com/en-us/library/ff607561.aspx

the second best way is to:

1.Backup the web application through the central administration from the source server.

2.Restore the web application through the central administration to the destination server.

3.Copy all the resources in the virtual directory (wpresources, bin, web.config...) to the destination server.

4.Deploy All solution packages (wsps) if available on the destination server.

5.Make any custom changes needed (create external databases ....) and you're ready to go :)

Good luck with both ways.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.