Move Site Collections between Content Databases in SharePoint 2010

Video length: 6:11

Video description: This video walks through the process of moving site collections between content databases in SharePoint 2010. This is the same process as splitting or merging content databases.

Documented video steps below:

Under some circumstances, you might want to move one or more site collections to a different content database. For example, a site collection can outgrow the content database on which it resides on, and you would have to move the site collection to a larger content database. On the flip side, if site collections are too small in size you may want to combine several site collections onto one content database.

Prerequisites

User Account

  • The user account running the below process needs access to s server running Windows PowerShell 2.0 and a member of the following groups
  • The db_owner fixed database role and the SharePoint_Shell_Access role in the SQL Server source content database, administration content database, destination content database, and configuration database.
  • The WSS_ADMIN_WPG group on the local computer.

For this process to work, the following must be true

  • The destination content database must already exist.
  • The source content database and destination content database must be located on the same instance of SQL Server.
  • The source content database and destination content database must be attached to the same Web application.

The Steps

  • Add a content databae to a web application by using Windows PowerShell – This is obviously optional if you may want to copy the site collection to an existing content database
  • Move your site collection to another content database

To add a content database to a web application by using windows PowerShell

  • Start SharePoint 2010 Management Shell
  • Type in the following command
New-SPContentDatabase -Name <ContentDbName> -WebApplication <WebApplicationName>
  • Replace <ContentDbName> with the name of the content database to create
  • Replace<WebApplicationName> with the name of the Web application to which the new database is attached.

To move your site collection to another database:

  • At the Windows PowerShell command prompt, type the following command:
Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
  • Replace<http://ServerName/Sites/SiteName> with the name of the site collection.
  • Replace <DestinationContentDb> with the name of the destination content database.

To move multiple site collections fron one content database into another:

  • At the Windows PowerShell command prompt, type the following command:
Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>
  • Replace <SourceContentDb> with the name of the original content database.
  • Replace <DestinationContentDb> with the name of the destination content database.

Links:

Leave a Comment