During recent migrations we used the database migration method to move SPS 2003 Sites into a MOSS 2007 Farm. The basic process went like this;
(SPS 2003 Farm)
Prescan
Set DB's to read-only
Backup DB's
Move DB's to MOSS 2007
(MOSS 2007 Farm)
Restore DB's
Attach DB's
Now view your Sites and all works fine right? Not so much, how about a "403 Forbidden" error. Thats always nice! On the SPS 2003 side the sites had been "locked." This can be done through SPSSiteManager.exe or the Central Administration. Either way they were locked.
Once on the MOSS 2007 side all we had to do was "unlock" the sites. The command has changed a little bit and there were a ton of sites, so we opted to script the command that looked something like this;
Here's what I did:
The actual command is; stsadm.exe -o setsitelock -url -lock
@echoCd\Cd “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN”stsadm.exe -o setsitelock -url http://sharepoint/sites/sitename -lock none Repeat for Site #2 Repeat for Site #3 etc... etc... @echo off pause exit
When migrating from SPS 2003 to MOSS 2007 we all know there are 3 options to pick from;
In-Place (Quickest, most room for error)
Gradual and (Ease of use and control)
Database (More manual, ease of use, leaves old farm completely in tact)
For all intents and purposes this post will summarize a Database Migration and Resetting Site Definitions, but the focus is primarily on the stsadm command mergecontentdbs and how I used it to restore multiple site collections at once rather than using backup and restore.
Here's what I did:
Backup and Restore (from SPS 2003 to Development MOSS 2007)
Put Content DB's in Read Only Mode
Run Pre-Upgrade Scan
Reset to original Site Definition
Backup Content DB's
Transfer .bak files to Development
Restore DB's in Development SQL Environment
Upgrade and UAT (In Development MOSS 2007)
Attach newly upgraded datbase(s) as new content database(s)
Upgrade Process (Automatic)
User Acceptance Testing
Restore (to Production MOSS 2007)
Once sites have passed UAT and all functionality can be accounted for, sites will be “merged,” or moved to a new content database that is ready to be attached in the production environment. The new database will be backed up and then restored as an entire collection. With this method we can move multiple sites at once rather than manually moving each site collection one by one. The following command line prompt is an example of merging content databases;
First, the option that I will be showing here (#3) requires a file to read from. That file is a list of the sites in the database that you want to move to another one. This list can be edited to exclude certain sites. In our case excluding sites that haven't passed UAT.