Tuesday, 13 October 2015

Move your Site Collection from One Content Database to another Content Database

Hi Friends,

It’s a question that comes up in every deployment of SharePoint: Should I have many site collections or one site collection with many sub sites?  My definitive answer: “It depends”.  

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.

No comments:

Post a Comment