Migrate sites, lists and libraries between SharePoint servers with views, versions, user-info, web parts, permissions and metadata.
My client asked me to figure out how to copy a SharePoint site from one server to another server. In my clients case they have an internal SharePoint site that they would like to copy to one of their clients/customers servers.
Metalogix offers content migration and archiving solutions. Thanks for sharing this with me Mark. I took a look at their solutions and they look good, and will certainly do the job.
I am a figure it out for yourself kind of person so I dug into the SharePoint documentation.
Microsoft Office SharePoint
Server 2007 includes the Stsadm tool for command-line administration of Office
SharePoint Server 2007 servers and sites. Stsadm is located at the following
path on the drive where SharePoint Products and Technologies is installed:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN.
You must be an administrator on the local computer to use Stsadm.
Stsadm provides a method for
performing the Office SharePoint Server 2007 administration tasks at the
command line or by using batch files or scripts. For more on the Stsadm tool see this site.
Two of the operations, Export and
Import, can be used to move a Sharepoint site and its contents from one server
to another. The Export operation exports
site and subsite data from a Microsoft Office SharePoint Server 2007
installation and the Import operation imports site and subsite data from a
Microsoft Office SharePoint Server 2007 installation. Using the combination of two one can package
up a Sharepoint site, with its contents, and move it to another server.
The stsadm tool is located
here: C:\Program Files\Common
Files\Microsoft Shared\web server extensions\12\BIN. Open cmd.exe to use this tool. First, start with the export using the
stsadmn tool with the following parameters:
stsadm
-o export -url http://therurl/theexistingsite -includeusersecurity
-nofilecompression -filename test
Executing this will
create a folder under the BIN folder named “test”. The test folder will contain .dat, .log and .xml files. I cannot state this for sure, as I have not
been able to document it, but it appears each .dat files represents a document
(a PDF in my clients case).
I used the nofilecompression
parameter as I was seeing low disk space errors while testing this on a development server. This will enable file
compression in the import
package. The import package is stored in the folder specified by the -filename parameter. It is
recommended to use this parameter for performance reasons. If compression is
enabled, it can increase the import process by approximately 30%.
The includeusersecurity parameter preserves the user security settings. I am not sure at this point if this is needed when creating an import package that will be executed outside of a client's network as the user settings on a clients server will most likley differ from the internal settings.
Now, to import simply replace the Export operation above with the Import operation. You also need to replace "url http://therurl/theexistingsite with" url http://therurl/thenewsite, pointing to the url for the site you are importing to.
So far so good, this process seems to work.