SharePoint 3.0 to SharePoint 2010 (moving companyweb from SBS 2008)

shp2K10logo

I’ve had to do this twice now.

It’s not difficult, but it’s not straightforward either.

I hope that by outlining the steps I followed, it will make it easier for others who might find themselves in this situation.

I didn’t figure this out on my own and will give credit where credit is due.

[box]Backup[/box]

Before doing anything, do a full back up of the SharePoint 3 site.

Go to Central Administration, Operations and Perform a backup.

I suggest you backup the whole farm.

[box]Pre-upgrade Steps[/box]

Requirement: Windows SharePoint Services 3.0 with Service Pack 2

  • On SBS 2008, open Command Prompt as Administrator.
  • Change directory to %COMMONPROGRAMFILES%Microsoft SharedWeb Server Extensions12bin
  • Type STSADM.EXE -o preupgradecheck and enter to run the check.
  • When it completes, it will open up a web page with the report. Have a look through it to see if there’s anything that needs to be sorted.

In most cases, this shouldn’t yield anything sinister, unless there’s lots of customisation that’s been done, in which case, you’ll have to have a close look at the report before proceeding.

Reference: http://technet.microsoft.com/en-us/library/cc303302(v=office.14).aspx
General Reference: Upgrading to SharePoint Foundation 2010 – http://technet.microsoft.com/en-us/library/cc303309(v=office.14).aspx

[box]Backup CompanyWeb SQL Database[/box]

The default name is ShareWebDB but it may be different in your environment.

  • Run SQL Management Studio and connect to .pipeMSSQL$MICROSOFT##SSEEsqlquery
  • Right-click ShareWebDb (or whatever your database name is), Tasks, Backup…
  • Do a full backup with all the default options.

[box]New CompanyWeb Site[/box]

On the SharePoint 2010 server, create a new web application and site collection (blank template) for CompanyWeb.

[box]Disconnect Database[/box]

On the SharePoint 2010 server, go to Manage Content Databases, select the new web application created in the step above and remove the content database.

[box]Restore Database[/box]

Restore the old SharePoint 3.0 SQL database on to the SQL server where the content databases for the SharePoint 2010 server resides.

I had a look at an existing content database and made sure that the user accounts that have access to that database, was also given access to the restored database.

In your environment, this may be handled by a SharePoint 2010 administrator and/or SQL database administrator, so be sure to check with them.

[box]Attach Database[/box]

The restored database (above) needs to be attached to the new CompanyWeb site created earlier.

While this can be done through the Central Administration, attempting to do so in the past has resulted in errors.

There is a way to do this using STSADM. See http://technet.microsoft.com/en-us/library/cc287634(v=office.14).aspx

On the SharePoint 2010 server, open Command Prompt as Administrator and run this command.

stsadm -o addcontentdb -url http://(url to new companyweb) -databasename ShareWebDb (assuming you’re using the default database name)

Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL>

[box type=”warning”]If this doesn’t work for some reason, try the PowerShell alternative. Run this command with SharePoint PowerShell running as administrator: Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL>[/box]

This could take a few minutes.

[box]Troubleshooting[/box]

If you attempt to browse to the new CompanyWeb site, you may get an access denied error.

This is because we restored the database connected to the old site and none of the user accounts on the new SharePoint 2010 server has any permission to the old site. Makes sense, right?

So, we need to decide which account on the new server gets permission to the new CompanyWeb site with the restored database.

To do this, on the SharePoint 2010 server, open Command Prompt as Administrator and run this command.

stsadm -o siteowner -url http://(url to new companyweb) -ownerlogin (domainusername)

[box type=”warning”] If you copy paste this command, it may not work. I faced this issue, but when I manually typed the same command in, it worked![/box]

This account will now become the Site Collection Administrator of the CompanyWeb site.

You should now be able to browse to the site and it will load up.

[box]Visual Upgrade[/box]

Visually, the site will look like the old site that was running on the SBS 2008 server.

To upgrade it to align with the visuals of SharePoint 2010, you can go to the Site Settings of the new CompanyWeb site and click on the Visual Upgrade link to make the switch.

If you don’t have this option or want to do it through the SharePoint 2010 Management Shell, refer to this link: http://technet.microsoft.com/en-us/library/ff607998.aspx

[box]Comments & References[/box]

This is just a rough outline of the steps I took to make the switch. If you search the web, you’ll find a number of ways to accomplish this.

If you get stuck somewhere, feel free to contact me and I’ll do what I can to help.

Here are some of the other sites I referenced as I tried to accomplish this.

http://blogs.technet.com/b/sbs/archive/2011/03/07/how-to-migrate-companyweb-to-a-sql-2008-r2-standard-instance-on-sbs-2011-part-3-migrating-the-content-database.aspx

http://sharepointtaskmaster.blogspot.com.au/2012/03/simple-way-to-move-content-database-of.html

Thanks for reading.

Thank Sri :)Thank Sri 🙂

Leave a comment