Migrate lists/doc libraries/sites from WSS 3.0 to 2010 using stsadm

There may be certain scenarios where you need to migrate content from a WSS3.0 SharePoint farm to a 2010 or even a SharePoint 2013 farm. I’d almost always recommend using DB backup/restore or even utilizing the unattached database recovery option in Central Admin. The following post is for times when that is not an option. Times like require good ole stsadm. NOTE: This has a 2GB limit and has had mixed results in testing

1 – Export the list from WSS 3.0

Notation: This is done using Gary LaPointe’s custom sts commands, which is a more functional sts command index (See here for a list of all possible commands: http://blog.falchionconsulting.com/index.php/stsadmpowershell-commands/)

Run the following command on the WSS3.0 server:

Working example:

The number for versions can vary depending on the user needs:
1 – Last major version for files and list items
2 – The current version, either the last major or the last minor
3 – Last major and last minor version for files and list items
4 – All versions for files and list items (default)

2 – Modify files to make the backup SP 2010 compatible

  • Open the folder you backed up and open the following 2 files:
    • Manifest.xm
    • SystemData.xml
  • Open SystemData.xml this file with a text editor (Notepad ++ is preferred)
  • Change the Version from “12.0.0.0” to “14.0.0.0” (Or 15.0.0.0 if this is 2013)
  • Change the build to be the same as the 2010/2013 SharePoint farm. This can be checked in Central Admin  > System Settings > Manage Servers in this farm
  • image
  • clip_image020
  • Open Manifest.xml with a text editor (Notepad ++ is preferred, but if the file is very large Notepad may be better as it won’t crash)
  • Run a find and replace all
    Find “12.0.0.6219” and replace it with “14.0.6117.5002” (This is Feb 2012 CU. Change to your build found above)

clip_image022

  • If there is an entry for ProductVersion change the value to 4 (2010)

3 – Repackage the file using makecab.exe

  • Open notepad and create a new text file. Include the following lines of text into this file:
This is the directive file that tells makecab what to compress into the cabinet file. This is all of the files in the folder you exported earlier. All of the XML files should be consistent for all exports, but the .dat files will change. These filenames can be copied easily by running the following command (after all filenames are copied, paste them below the XML files):

    • Open command prompt (CMD)
    • Navigate to the folder where all of the files exist and type:
      • Save this text file as makecab.ddf and copy it to the directory where all of the XML/DAT files exist
      • Open the command prompt and type the following command (First, navigate to the directory with all of the files in it using cd):
      • Makecab.exe /F makecab.ddf
      • You will now have a fileexport.cab file in the folder you exported earlier. Rename this file to whatever seems fit with the extension of .cmp. For example: WSSList.cmp

4 – Import the list into SP 2010

      • Create the new site under the correct site collection, for STS Templates:
        • STS#0 = Teamsite
        • STS#1 = Blank
      • Run the following PowerShell to import the list into the site/site collection of your choosing
      • Working Example:

import-spweb -identity http://sharepointsite.com -path C:\temp\test.cmp -includeusersecurity -includeversions all