SharePoint 2016

Create Sites using Fast Site Collection feature in SharePoint Server 2016

Fast Site Collection Creation is a new feature in SharePoint 2016, that enables Site Collections to be created in a much faster way that in previous versions.

This feature actually uses a copy of a site template which is stored in the content database, with all the site’s features already enabled.
If a SharePoint administrator has a requirement for creating 50 Team Sites, enabling Fast Site Collection creation is a time saver in the long run.

⚠️ When we enable a template, we enable it for a particular content database. Meaning outside this database, it will not be a template for Fast Site Collection creation.

In today’s post, we will:

  • Enable Fast Site Collection creation, 
  • Create the Master template,
  • Create a Site Collection using this master template,
  • Time comparaison between a Site Collection created with/without Site Master… 😨

 

 

Enable templates for Fast Site Collection creation

Before being able to use this feature, we need to enable it.

Open the SharePoint Management Shell, or any editor you like with the SharePoint snapin added.
Here I’m using Visual Studio Code (I just love it!)

Let’s have a look at the PowerShell cmdlet for this feature

gcmSiteMasterv
Site Master cmdlets

Now let’s think about which Site template we wish to enable for fast creation.

To get a list of all the Site Templates (in “15” compatibility mode) and their ID (name) , let’s run:

Get-SPWebTemplate | Where-Object {$_.CompatibilityLevel -eq "15"}
GetSiteTemplates
Get a list of Site Templates

The most popular is obviously the Team Site (STS#0), and a random pick could be…. a News Site! (SPSNHOME#0)
So let’s go ahead, and enable those two (2) templates for Fast Site Collection creation using the Enable-SPWebTemplateForSiteMaster cmdlet.

Enable-SPWebTemplateForSiteMaster -Template "STS#0" -CompatibilityLevel "15"
Enable-SPWebTemplateForSiteMaster -Template "SPSNHOME#0" -CompatibilityLevel "15"
EnableSites
Enable Team Site & New Site for fast creation

OK, what’s next?
Well, we need to “store” those 2 templates in the content database!

 

 

Create the Site Master in the Content Database

Now that we have enabled those 2 templates for fast creation, we need to store them in the content database.
From the new cmdlets, we have New-SPSiteMaster. And that’s the one we’ll use.

I have a Web Application named “Demo”, and its associated database is “SP2016_Demo_WADB”

New-SPSiteMaster -ContentDatabase "SP2016_Demo_WADB" -Template "STS#0"
SiteMasterSTS0
Site Master created for Team Site template

Note: I’ve done the same for the News Site on the same content DB, you don’t need to watch again 😉

Let’s check what we’ve got using the Get-SPSiteMaster cmdlet:

Get-SPSiteMaster -ContentDatabase "SP2016_Demo_WADB"
Get-SPSiteMaster
Site Master on Demo CDB

We can also notice the two (2) Site Master templates in Central Admin

SiteMasterInCA
Site Master in All Site Collections

 

 

 

Create Site Collection(s) using Site Master

The only difference when creating a Team Site with PowerShell now, is the parameter -CreateFromSiteMaster.

Below, I have inserted the Measure-Command to see how long it will take for the Site Collection to be created 😏

Measure-Command { $newSPSite = @{
    Url                  = "http://demo.pwsh.net/sites/myfastsite"
    OwnerAlias           = "pwsh\SPInstall"
    CreateFromSiteMaster = $true
    Name                 = "My Fast Team Site"
    Template             = "STS#0"
    ContentDatabase      = "SP2016_Demo_WADB"
}
    New-SPSite @newSPSite }

 

Notice on line 4? CreateFromSiteMaster is set to $true, so that’s where the template will be “pulled” from.

Now let’s run that and… 🎉

TimeElapsed
Time elapsed when creating site

 

Let’s create our News Site to see how long it takes…. 24 seconds!

FastNEWSSite
Fast NEWS site created

 

 

Comparaison by creating multiple Site Collections

I never watched Star Wars (what???? I know…I know…) but it would be a good moment to play the Imperial March now 🙂

First test, let’s create 20 Site Collections (mix of Team Sites & News Sites) using the Fast Site Collection creation

CsvFile
Csv file for “Demo” Web Application
$CsvFile = Import-Csv "C:\users\$env:USERNAME\desktop\sites.csv"

#Create the Site Collections
Measure-Command { foreach ($row in $CsvFile) {
        $newSPSiteSplat = @{
            Url                = $row.Url
            OwnerAlias         = $row.OwnerAlias
            Name               = $row.Name
            CompatibilityLevel = $row.CompLevel
            Template           = $row.Template
            ContentDatabase    = $row.ContentDB
        }
        New-SPSite @newSPSiteSplat
    }
}
Create20Sites
Create 20 Site Collections using Site Master

 

Step 2, create another 20 Site Collections (on another Web Application & Content DB with no Site Master) not using the Fast Site Collection creation feature.

PortalNotFastSite
Csv file for “Portal” Web Application

 

Create20SitesPortal
No fast site creation

 

Not a big difference in my dev. environment (~2 mins), but give it a try, and let me know!

 

Loading Likes... Tagged , ,

Leave a Reply