move site collection to dedicate content database

We have to move site collection to dedicate content database when content database size growing too large. One content database present under a web application in SharePoint contains multiple site collections. We can create or add new content databases under web application when limit of maximum number of sites that can be created in this database exceed while creating new site collection. If one site collection present under a content database is growing large, user request to create a dedicate content database and move that particular site collection to another new content database. We need to follow the steps as described below to move site collection to dedicate content database.

Advertisements
  1. Get site collection GUID using powershell
  2. Get which content database site collection web application is stored
  3. Create new content database in SharePoint
  4. move site collection to different content database
  5. IISRESET SharePoint server
  6. Post Implementation testing
Advertisements

Get site collection GUID using powershell

Before you move site collection to another content database, get guid of sharepoint site. You can get site collection guid using powershell script as mentioned below.

$site=Get-SPSite http://win-q2repghf9du/sites/TeamSiteClassicRenamed
$siteguid=$site.id
echo $siteguid
get site collection guid powershell
Advertisements

Get which content database site collection web application is stored

Get site collection content database details including web application, site url using the powershell command below.

Get-SPSite | Where-Object {$_.Url -like "http://win-q2repghf9du/sites/TeamSiteClassicRenamed"} | select Url, ContentDatabase, WebApplication
content database in which site collection is stored

You can use the alternative command as described in my old post link below.

https://atomic-temporary-119393429.wpcomstaging.com/content-database-in-sharepoint/
Advertisements
Advertisements

Create new content database in SharePoint

I described in detail about how to create or add a new content database in SharePoint in my previous post. Follow the post linked below for more details and use the powershell script for creating content database.

https://sharepointtechnicalsupport.com/create-add-a-content-database-in-sharepoint-2019/
New-SPContentDatabase "WSS_Content_DB2" -DatabaseServer "WIN-Q2REPGHF9DU" -WebApplication http://win-q2repghf9du/ -MaxSiteCount 1 -WarningSiteCount 0
Create new content database in sharepoint using powershell
Advertisements
Advertisements
Content database in sql server
Advertisements

move site collection to different content database

Now we are ready to move site collections between databases using the powershell command Move-SPSite as described below.

Move-SPSite "http://win-q2repghf9du/sites/TeamSiteClassicRenamed" -DestinationDatabase "WSS_Content_DB2"
move site collection to dedicate content database
Advertisements
Advertisements

IISRESET SharePoint server

You will get a message in powershell window like “IIS must be restarted before this change will take effect. To restart IIS, open a command prompt window and type iisreset”. You have to do IIS reset SharePoint server.

iisreset
iisreset sharepoint server
Advertisements
Advertisements

Post Implementation testing

After move site collection to new content database completed, you can check GUID of the site collection again. Its same as source location.

check guid of site in sharepoint

check content database of site collection to cross check the new content database as destination location.

check content database of site collection
Advertisements
Advertisements
Advertisements
Advertisements

create fast site collection in sharepoint 2019

create fast site collection is a new feature introduced in SharePoint 2019. Create a new site time can be reduced to half compared to New-SPSite PowerShell cmdlet by this feature. This fast site creation feature operates directly at the DB level, witpout passing to Object Model, and saving several round trips between database server and sharepoint server. So in this post we will discuss all about how to create site collection using fast site creation feature in sharepoint 2019.

Advertisements

Each site collection is associated with a blank template called a “site master”. Creating fast site, actually copies that site from DB and copies to destination site.

Fast site creation is supported with below site templates only.

You can follow my post Get template id sharepoint site with powershell to get list of templates in sharepoint 2019.

Fast creation enabled site collection templates can get using the powershell cmdlet Get-SPWebTemplatesEnabledForSiteMaster

Advertisements

Get-SPWebTemplatesEnabledForSiteMaster

Get-SPWebTemplatesEnabledForSiteMaster
Site collection templates that are fast site creation enabled
Advertisements

Disable-SPWebTemplateForSiteMaster

Powershell command to disable site template, enabled to create fast site collection is Disable-SPWebTemplateForSiteMaster.

Disable-SPWebTemplateForSiteMaster -Template STS#3
Disable-SPWebTemplateForSiteMaster
Advertisements

Enable-SPWebTemplateForSiteMaster

Powershell command to enable site template for fast site creation is Enable-SPWebTemplateForSiteMaster.

Enable-SPWebTemplateForSiteMaster -Template STS#3
Enable-SPWebTemplateForSiteMaster
Advertisements

New-SPSiteMaster

We can create a new Site Master using a site template by powershell command New-SPSiteMaster.

New-SPSiteMaster -Template STS#3 -ContentDatabase "WSS_Content_44179"
site master dbo.SIteMasters fast site creation sharepoint 2019
Advertisements

Site Master id stored table in content database sql server

SIte master created is actually stored in content database sql server database. We can open sql db, expand the contnet database, expand and identify the table dbo.SiteMasters.

dbo.SiteMasters
Advertisements

Get-SPSiteMaster

This PowerShell cmdlet Get-SPSiteMaster returns a reference to the site master associated with a content database.

Get-SPSiteMaster -ContentDatabase "WSS_Content_44179"
site master associated with content database
Advertisements

Remove-SPSiteMaster

This PowerShell cmdlet Remove-SPSiteMaster deletes site master from content database.

Remove-SPSiteMaster -ContentDatabase "WSS_Content" -Siteid "2a534455-1369-4f1e-bcf9-7e3feaf2a801"
Remove-SPSiteMaster Confirmation
Remove-SPSiteMaster
Advertisements

Fast site creation using powershell in a content database

we can use below powershell command to create fast site using site master present under a content database.

New-SPSite http://win-q2repghf9du:44179/sites/SharePointTech -Template "STS#0" -ContentDatabase "WSS_Content_44179" -OwnerAlias "SPMCSE\Administrator" -CreateFromSiteMaster
create fast site collection New-SPSite
Advertisements
Advertisements