Microsoft has introduced a new feature MinRole in SharePoint 2016.
Through this feature, SharePoint farm administrators can provision each server's role in the farm topology. When we create a new farm or join a server to the existing farm, the role of a server is specified during the installation and the services on each server based on the server's role are configured automatically by SharePoint. Hence, the performance of the farm is also optimized based on that topology.
There are six roles which are predefined and user can choose as per the requirement. In the following table, roles and their description are mentioned :
Server Role | Description |
Front End | Service applications, services and components that serve user requests are configured on Front end web servers and are optimized for low latency. |
Application | Service applications, services and components that serve backend requests are configured on Application servers and are optimized for high throughput. |
Distributed Cache | Service applications, services and components that are required for distributed cache are configured on Distributed cache servers. |
Search | Service applications, services and components that are required for searching are configured on Search servers. |
Custom | Custom service applications,services and components that do not integrate with MinRole are configured on Custom servers . The farm administrator has full control over which service instances to run on the servers assigned to the Custom role . MinRole has no role to play with the service instances provisioned on the Custom role. |
Single-server farm | Service applications, services and components required for single machine farm are configured on a Single-Server Farm. |
Working of MinRole
When we create a new farm or join a server to an existing farm , a set of service instances are started by SharePoint which are required for the server's role. Additionally, all the other services which are enabled in the farm are detected by it and starts each service instances as applicable to server's role.
Further, it also detects which service applications have created in the farm and which services are required for supporting these service applications as applicable to server's role.
MinRole starts and stops the service instances on the existing servers in the farm whenever we enable or disable the services in the farm or we delete or create the service applications in the farm.
The outcome is that farm administrators need not worry about the service instances at an individual server level. Rather than this, admins primary focus would be on which services should be enabled at the SharePoint farm level.
Benefits of MinRole
1. Simpler capacity planning and farm scalability : Following the recommended MinRole topology , users can leverage better predictable & proper capacity planning. Additionally, servers can be easily added into the farm as per the need .
2. Simplified deployment : Farm administrators need not worry about configuring services on each servers. By following recommended MinRole topology, farm admins can focus on functionalities needed to be enabled in the farm.
3. Improved performance & reliability : Sharepoint services have been optimized for the MinRole topology based on analysis performed by Microsoft in terms of network latency,CPU,memory, disk I/O . By following recommended MinRole topology, users will be able to reduce the network latency and thus, increase the reliability.
Methods available for Farm Deployment
We can use the following methods to create a new farm or join servers to an existing farm with MinRole :
- Windows PowerShell cmdlets
- SharePoint 2016 Products Configuration Wizard (PSConfigUI.exe)
- PSConfig.exe command line tool
For PSConfig.exe & Windows Powershell we have two new command line parameters with the introduction of MinRole feature which are mentioned below :
- LocalServerRole : specifies the role of local server when we create new farm or join a server to an existing farm . This parameter accepts following values :
- WebFrontEnd
- Application
- DistributedCache
- Search
- Custom
- SingleServerFarm
- ServerRoleOptional : configures the farm which do not require a server role to be specified. In case no server role is specified, then the server defaults to Custom Role.
Recommended MinRole Topologies
Server role | Required for Content Farm ? | Required for Shared Services Farm ? | Required for Search Farm ? |
Front-end web | Yes | Yes | No |
Application | Yes | Yes | No |
Distributed cache | Yes | Yes | No |
Search | Yes, if hosting Search | Yes, if hosting Search | Yes |
Custom | Optional | Optional | Optional |
Opting out of MinRole
The backward compatible behavior of previous SharePoint releases is supported in SharePoint 2016 Preview with the custom role.
For existing deployment scripts not to include MinRole, we can specify ServerRoleOptionalparameter by using PSConfig.exe command line tool or Windows PowerShell for creating new Sharepoint farm.
SharePoint 2016 New Powershell cmdlets
Microsoft has added some 115 new Powershell cmdlets in the new version of SharePoint i.e. SharePoint 2016. The list of new Powershell cmdlets are mentioned below :
Command-let | Product |
Add-SPIPRangeAllowList | SharePoint |
Compare-SPDatabaseSchema | SharePoint |
Copy-SPDatabase | SharePoint |
Copy-SPSideBySideFiles | SharePoint |
Disable-SPIPRangeAllowList | SharePoint |
Disable-SPProjectActiveDirectoryEnterpriseResourcePoolSync | Project |
Disable-SPProjectEmailNotification | Project |
Disable-SPProjectEnterpriseProjectTaskSync | Project |
Disable-SPProjectQueueStatsMonitoring | Project |
Disable-SPSecureStoreMinDB | SharePoint |
Disable-SPVideoStreaming | SharePoint |
Disable-SPWebTemplateForSiteMaster | SharePoint |
Dismount-SPSiteMapDatabase | SharePoint |
Enable-SPIPRangeAllowList | SharePoint |
Enable-SPProjectActiveDirectoryEnterpriseResourcePoolSync | Project |
Enable-SPProjectEmailNotification | Project |
Enable-SPProjectEnterpriseProjectTaskSync | Project |
Enable-SPProjectQueueStatsMonitoring | Project |
Enable-SPSecureStoreMinDB | SharePoint |
Enable-SPVideoStreaming | SharePoint |
Enable-SPWebTemplateForSiteMaster | SharePoint |
Export-SPAccessServicesDatabase | SharePoint |
Export-SPTagsAndNotesData | SharePoint |
Get-SPAppStoreWebServiceConfiguration | SharePoint |
Get-SPAzureVideoServiceAccount | SharePoint |
Get-SPConnectedServiceApplicationInformation | SharePoint |
Get-SPInsightsAuthSettings | SharePoint |
Get-SPIPRangeAllowList | SharePoint |
Get-SPMicrofeedOptions | SharePoint |
Get-SPO365LinkSettings | SharePoint |
Get-SPProjectDatabaseQuota | Project |
Get-SPProjectDatabaseUsage | Project |
Get-SPProjectEnterpriseProjectTaskSync | Project |
Get-SPProjectEventServiceSettings | Project |
Get-SPProjectIsEmailNotificationEnabled | Project |
Get-SPProjectOdataConfiguration | Project |
Get-SPProjectPCSSettings | Project |
Get-SPProjectPermissionMode | Project |
Get-SPProjectQueueSettings | Project |
Get-SPProjectWebInstance | Project |
Get-SPRuntimeTelemetry | SharePoint |
Get-SPService | SharePoint |
Get-SPSiteMapDatabase | SharePoint |
Get-SPSiteMaster | SharePoint |
Get-SPVideoStreamingConfig | SharePoint |
Get-SPWebTemplatesEnabledForSiteMaster | SharePoint |
Import-SPAccessServicesDatabase | SharePoint |
Invoke-SPProjectActiveDirectoryEnterpriseResourcePoolSync | Project |
Invoke-SPProjectActiveDirectoryGroupSync | Project |
Migrate-SPDatabase | SharePoint |
Migrate-SPProjectDatabase | Project |
Migrate-SPProjectResourcePlans | Project |
Mount-SPSiteMapDatabase | SharePoint |
Move-SPAppManagementData | SharePoint |
Move-SPSecureStorePartitionData | SharePoint |
New-SPAzureVideoServiceAccount | SharePoint |
New-SPProjectServiceApplication | Project |
New-SPProjectServiceApplicationProxy | Project |
New-SPSiteMaster | SharePoint |
Pause-SPProjectWebInstance | Project |
Register-SPContentDatabase | SharePoint |
Remove-SPAzureVideoServiceAccount | SharePoint |
Remove-SPIPRangeAllowList | SharePoint |
Remove-SPProjectWebInstanceData | Project |
Remove-SPSiteMaster | SharePoint |
Repair-SPProjectWebInstance | Project |
Reset-SPProjectEventServiceSettings | Project |
Reset-SPProjectPCSSettings | Project |
Reset-SPProjectQueueSettings | Project |
Reset-SPSites | SharePoint |
Resume-SPProjectWebInstance | Project |
Resume-SPVideoStreamingAccess | SharePoint |
Set-SPAppStoreWebServiceConfiguration | SharePoint |
Set-SPDefaultProfileConfig | SharePoint |
Set-SPInsightsAuthSettings | SharePoint |
Set-SPIPAccessControlOperationMode | SharePoint |
Set-SPIPAccessControlSubscriptionId | SharePoint |
Set-SPIPRangeAllowList | SharePoint |
Set-SPIPRangeAllowListSetting | SharePoint |
Set-SPMicrofeedOptions | SharePoint |
Set-SPO365LinkSettings | SharePoint |
Set-SPProjectDatabaseQuota | Project |
Set-SPProjectEventServiceSettings | Project |
Set-SPProjectOdataConfiguration | Project |
Set-SPProjectPCSSettings | Project |
Set-SPProjectPermissionMode | Project |
Set-SPProjectQueueSettings | Project |
Set-SPProjectServiceApplication | Project |
Set-SPProjectUserSync | Project |
Set-SPProjectUserSyncDisabledSyncThreshold | Project |
Set-SPProjectUserSyncFullSyncThreshold | Project |
Set-SPProjectUserSyncOffPeakSyncThreshold | Project |
Set-SPRuntimeTelemetry | SharePoint |
Set-SPServer | SharePoint |
Start-SPService | SharePoint |
Stop-SPService | SharePoint |
Suspend-SPVideoStreamingAccess | SharePoint |
Switch-SPSitesToNewDatabase | SharePoint |
Sync-SPProjectPermissions | Project |
Test-SPIPRangeAllowList | SharePoint |
Test-SPO365LinkSettings | SharePoint |
Test-SPProjectServiceApplication | Project |
Test-SPProjectWebInstance | Project |
Update-SPAzureBlobConfigLocator | SharePoint |
Update-SPAzureBlobConfigLocatorEx | SharePoint |
Update-SPAzureBlobConfigLocatorEx1 | SharePoint |
Update-SPAzureBlobLogStoreSignatures | SharePoint |
Update-SPAzureBlobSignaturesEx | SharePoint |
Update-SPAzureBlobSignaturesEx1 | SharePoint |
Upgrade-SPAppManagementServiceApplication | SharePoint |
Upgrade-SPConfigurationDatabase | SharePoint |
Upgrade-SPProfileServiceApplication | SharePoint |
Upgrade-SPServer | SharePoint |
Upgrade-SPSiteMapDatabase | SharePoint |
Upgrade-SPWebApplication | SharePoint |
New Features in SharePoint 2016 – Part 2 of 2
In my previous blog post, I have mentioned about some new features in SharePoint 2016 beta release. To have a recap , refer New Features in SharePoint 2016 – Part 1 of 2
- Added the support of the BITS Protocol instead of COBALT for file transfer. BITS utilizes an unclaimed bandwidth to enhance file transfer experience.
- Microsoft Project Server 2016 (PWA) is now part of the SharePoint product (install) but still requires a separate license.
- Improved bidirectional sync with active directory
FIM (Forefront Identify Manager) product is removed from the SharePoint media (Install). Also, added support for external standalone FIM product\service.
- New site collection template called “Compliance Policy Center” added
It allows you to manage policies and assign policies to SharePoint site collections to help you enforce your organization governance requirements. It includes the ability to discover sensitive information like “Social security number”, credit card numbers …etc. You also can add document delete policies.
- Added a new Site collection template called “In-Place Hold Policy Center”
This allows you to manage governance policies across site collections.
- Fast Site Creation introduced
SharePoint will leverage master copies for common site templates (I.e. STS0) to do a SPSite.Copy at the content db level to speed up site collection creation. For deep dive, refer Fast Site Creation in SharePoint 2016
- 115 new PowerShell commandlet added.
lot of them existed before part of the Project Server when it was a separate install, the rest are brand new that provide more control on server administration, integration with the cloud for hybrid scenarios …etc.. For complete detailed list, refer SharePoint 2016 New Powershell cmdlets
- Durable links feature is added
This provides resource Id based URL to make it easier to locate documents with their URL no matter where you move them.
- Two new features are added for document libraries :
- Added SMTP Connection encryption for outgoing email
You can use custom ports & enable SSL …etc
- Enabled Office 365 hybrid scenario integration with SharePoint 2016 on-premises through central admin.
You can configure one of two different integration scenarios:
- OneDrive & Sites
- OneDrive only
New Features in SharePoint 2016 – Part 1 of 2
SharePoint 2016 beta has been released and upon exploring we found some new features which are listed below:
- Server Roles
While running configuration wizard users will come across a screen, where they are provided with the settings to define the role of a server. It also helps to maintain the best performance of the desired server role. Following roles are available:
- Front-end
- Application
- Distributed Cache
- Search
- Custom
- Single Server Farm
We can also change the server role through central admin --> System Settings --> Servers --> Convert server role in this farm
- App Launcher
This cool gadget which s customizable & extensible allows users to navigate between SharePoint, OneDrive & Newsfeed
- Enhanced simple controls for document library
- Content Databases sizes to be in TBs and not GBs
- Added the support of 100K site collections per content db up from 10K for SharePoint 2013.
- Increased the list threshold more than 5000 items per view\query. For deep dive refer Auto Indexing List View In SharePoint 2016.
- Increased the maximum file size to 10 GB up from 2 GB for SharePoint 2013
- Search index size increased from 250 million supported items per farm to 500 million items.
- Added automatic list column indices management to make it easier for SharePoint users to create and use large lists without worrying too much about indexing.
- Improved and stabilized distributed cache (App Fabric)
App Fabric is announced to be discontinued already as a standalone product but the product group will continue to support it as a component part of SharePoint
For more features listing, go to Part 2 of this series - New Features in SharePoint 2016 - Part 2 of 2
Hardware & Software requirements for SharePoint Server 2016
At Microsoft Ignite , the system requirements for SharePoint Server 2016 were announced by Microsoft Senior Technical Product Manager, Bill Baer .
Following are the system requirements for SharePoint Server 2016 :
Scenario | Deployment Type | Processor | RAM | Hard Disk |
D/B Server running a single SQL instance | Development | 64-bit, 4 cores | 12-16 GB | 80 GB |
D/B server running a single SQL instance | Production | 64-bit,4 cores | 16-24 GB | 80 GB |
Web Server or app server running 3-tier farm | Development | 64-bit,4 cores | 8-12 GB | 80 GB |
Web server or app server running in 3-tier farm | Production | 64-bit,4 cores | 12-16 GB | 80 GB |
Operating System Requirements :
Windows Server 2012 R2 and Windows Server Technical Preview will be the OS on which SharePoint Server 2016 is supported.
Database Requirements :
SharePoint Server 2016 will support SQL Server 2014 or SQL Server 2016.
.NET Framework :
Windows Server 2012 R2 : SharePoint Server 2016 requires .NET Framework 4.5.2 .
Windows Server Technical Preview "Threshold" : SharePoint Server 2016 requires .NET Framework 4.6 Preview which comes with Windows Server Technical Preview "Threshold".
Prerequisites for SharePoint Server 2016 :
The prerequisites for SharePoint Server 2016 are similar to the ones which were in SharePoint Server 2013 and it can also be installed manually or by prerequisites installer .
Prerequisite installer installs the following components :
- Application Server Role or Web Server (IIS) Role.
- Microsoft SQL Server 2012 Native Client.
- Microsoft ODBC Driver 11 for SQL Server.
- Microsoft Sync Framework Runtime v1.0 SP1 (x64).
- Windows Server AppFabric 1.1 .
- Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763).
- Microsoft Identity Extensions.
- Microsoft Information Protection and Control Client .
- Microsoft WCF Data Services 5.0 .
- Microsoft WCF Data Services 5.6
- Microsoft . Net Framework 4.5.2
- Update for Microsoft .NET Framework to disable RC4 in Transport Layer Security (KB2898850) .
- Visual C++ Redistributable Package for Visual Studio 2013 .
Deployment Scenarios :
Scenario | SharePoint Server 2016 |
Workgroup | Unsupported |
Domain Controller | Developer Installation |
Client OS | Unsupported |
Dynamic Memory | Unsupported |
Windows Web Server | Unsupported |
Powershell Command to find time elapsed in execution of cmdlet
We have PowerShell Command to find time elapsed in execution of cmdlet. Or this command comes in handy to make a comparison between the cmdlets in terms of execution time .
Syntax for the command :
Measure-Command {New-SPSite http://vmsp2016/sites/DemoFastSite -Template "STS#0" -ContentDatabase $contentDatabse -CompatibilityLevel 15 -OwnerAlias “corp\sp_farmAdmin”}
By using this command , we can easily find the time taken in execution of Pwoershell cmdlet. Post execution, the result displays the duration in Days, Hours, Minutes, Seconds,Milliseconds etc. as shown in the above screenshot.
We can easily log this data in a log file and further optimize the cmdlet for effective & faster execution.
Web Templates in SharePoint 2016
SharePoint 2016 IT Preview has been released and there are some new site templates introduced . Here are the list of web templates with their compatibility level available in SharePoint 2016 :
S No. | Name | Title | Compatibility Level |
1 | ACCSRV#0 | Access Services Site | 14 |
2 | ACCSRV#0 | Access Services Site | 15 |
3 | ACCSRV#1 | Assets Web Database | 14 |
4 | ACCSRV#3 | Charitable Contributions Web Database | 14 |
5 | ACCSRV#4 | Contacts Web Database | 14 |
6 | ACCSRV#5 | Projects Web Database | 14 |
7 | ACCSRV#6 | Issues Web Database | 14 |
8 | ACCSVC#0 | Access Services Site Internal | 15 |
9 | ACCSVC#1 | Access Services Site | 15 |
10 | APP#0 | App Template | 15 |
11 | APPCATALOG#0 | App Catalog Site | 15 |
12 | BDR#0 | Document Center | 14 |
13 | BDR#0 | Document Center | 15 |
14 | BICenterSite#0 | Business Intelligence Center | 14 |
15 | BICenterSite#0 | Business Intelligence Center | 15 |
16 | BLANKINTERNET#0 | Publishing Site | 15 |
17 | BLANKINTERNET#0 | Publishing Site | 14 |
18 | BLANKINTERNET#1 | Press Releases Site | 14 |
19 | BLANKINTERNET#1 | Press Releases Site | 15 |
20 | BLANKINTERNET#2 | Publishing Site with Workflow | 14 |
21 | BLANKINTERNET#2 | Publishing Site with Workflow | 15 |
22 | BLANKINTERNETCONTAINER#0 | Publishing Portal | 15 |
23 | BLANKINTERNETCONTAINER#0 | Publishing Portal | 14 |
24 | BLOG#0 | Blog | 15 |
25 | BLOG#0 | Blog | 14 |
26 | CENTRALADMIN#0 | Central Admin Site | 14 |
27 | CENTRALADMIN#0 | Central Admin Site | 15 |
28 | CMSPUBLISHING#0 | Publishing Site | 15 |
29 | CMSPUBLISHING#0 | Publishing Site | 14 |
30 | COMMUNITY#0 | Community Site | 15 |
31 | COMMUNITYPORTAL#0 | Community Portal | 15 |
32 | DEV#0 | Developer Site | 15 |
33 | EDISC#0 | eDiscovery Center | 15 |
34 | EDISC#1 | eDiscovery Case | 15 |
35 | ENTERWIKI#0 | Enterprise Wiki | 15 |
36 | ENTERWIKI#0 | Enterprise Wiki | 14 |
37 | GLOBAL#0 | Global template | 14 |
38 | GLOBAL#0 | Global template | 15 |
39 | GROUP#0 | Group | 15 |
40 | MPS#0 | Basic Meeting Workspace | 14 |
41 | MPS#0 | Basic Meeting Workspace | 15 |
42 | MPS#1 | Blank Meeting Workspace | 14 |
43 | MPS#1 | Blank Meeting Workspace | 15 |
44 | MPS#2 | Decision Meeting Workspace | 14 |
45 | MPS#2 | Decision Meeting Workspace | 15 |
46 | MPS#3 | Social Meeting Workspace | 14 |
47 | MPS#3 | Social Meeting Workspace | 15 |
48 | MPS#4 | Multipage Meeting Workspace | 15 |
49 | MPS#4 | Multipage Meeting Workspace | 14 |
50 | OFFILE#0 | (obsolete) Records Center | 14 |
51 | OFFILE#0 | (obsolete) Records Center | 15 |
52 | OFFILE#1 | Records Center | 14 |
53 | OFFILE#1 | Records Center | 15 |
54 | OSRV#0 | Shared Services Administration Site | 14 |
55 | OSRV#0 | Shared Services Administration Site | 15 |
56 | POINTPUBLISHINGHUB#0 | PointPublishing Hub | 15 |
57 | POINTPUBLISHINGPERSONAL#0 | PointPublishing Personal | 15 |
58 | POINTPUBLISHINGTOPIC#0 | PointPublishing Topic | 15 |
59 | POLICYCTR#0 | Compliance Policy Center | 15 |
60 | PPSMASite#0 | PerformancePoint | 14 |
61 | PPSMASite#0 | PerformancePoint | 15 |
62 | PRODUCTCATALOG#0 | Product Catalog | 15 |
63 | PROFILES#0 | Profiles | 15 |
64 | PROFILES#0 | Profiles | 14 |
65 | PROJECTSITE#0 | Project Site | 15 |
66 | PWA#0 | Project Web App Site | 14 |
67 | PWA#0 | Project Web App Site | 15 |
68 | PWS#0 | Microsoft Project Site | 14 |
69 | PWS#0 | Microsoft Project Site | 15 |
70 | SGS#0 | Group Work Site | 14 |
71 | SGS#0 | Group Work Site | 15 |
72 | SPS#0 | SharePoint Portal Server Site | 15 |
73 | SPS#0 | SharePoint Portal Server Site | 14 |
74 | SPSCOMMU#0 | Community area template | 14 |
75 | SPSCOMMU#0 | Community area template | 15 |
76 | SPSMSITE#0 | Personalization Site | 15 |
77 | SPSMSITE#0 | Personalization Site | 14 |
78 | SPSMSITEHOST#0 | My Site Host | 14 |
79 | SPSMSITEHOST#0 | My Site Host | 15 |
80 | SPSNEWS#0 | News Site | 14 |
81 | SPSNEWS#0 | News Site | 15 |
82 | SPSNHOME#0 | News Site | 14 |
83 | SPSNHOME#0 | News Site | 15 |
84 | SPSPERS#0 | SharePoint Portal Server Personal Space | 14 |
85 | SPSPERS#0 | SharePoint Portal Server Personal Space | 15 |
86 | SPSPERS#10 | Storage And Social SharePoint Portal Server Personal Space | 15 |
87 | SPSPERS#2 | Storage And Social SharePoint Portal Server Personal Space | 15 |
88 | SPSPERS#3 | Storage Only SharePoint Portal Server Personal Space | 15 |
89 | SPSPERS#4 | Social Only SharePoint Portal Server Personal Space | 15 |
90 | SPSPERS#5 | Empty SharePoint Portal Server Personal Space | 15 |
91 | SPSPERS#6 | Storage And Social SharePoint Portal Server Personal Space | 15 |
92 | SPSPERS#7 | Storage And Social SharePoint Portal Server Personal Space | 15 |
93 | SPSPERS#8 | Storage And Social SharePoint Portal Server Personal Space | 15 |
94 | SPSPERS#9 | Storage And Social SharePoint Portal Server Personal Space | 15 |
95 | SPSPORTAL#0 | Collaboration Portal | 14 |
96 | SPSPORTAL#0 | Collaboration Portal | 15 |
97 | SPSREPORTCENTER#0 | Report Center | 15 |
98 | SPSREPORTCENTER#0 | Report Center | 14 |
99 | SPSSITES#0 | Site Directory | 14 |
100 | SPSSITES#0 | Site Directory | 15 |
101 | SPSTOC#0 | Contents area Template | 15 |
102 | SPSTOC#0 | Contents area Template | 14 |
103 | SPSTOPIC#0 | Topic area template | 14 |
104 | SPSTOPIC#0 | Topic area template | 15 |
105 | SRCHCEN#0 | Enterprise Search Center | 14 |
106 | SRCHCEN#0 | Enterprise Search Center | 15 |
107 | SRCHCENTERFAST#0 | FAST Search Center | 14 |
108 | SRCHCENTERLITE#0 | Basic Search Center | 15 |
109 | SRCHCENTERLITE#0 | Basic Search Center | 14 |
110 | SRCHCENTERLITE#1 | Basic Search Center | 14 |
111 | SRCHCENTERLITE#1 | Basic Search Center | 15 |
112 | STS#0 | Team Site | 14 |
113 | STS#0 | Team Site | 15 |
114 | STS#1 | Blank Site | 15 |
115 | STS#1 | Blank Site | 14 |
116 | STS#2 | Document Workspace | 14 |
117 | STS#2 | Document Workspace | 15 |
118 | TBH#0 | In-Place Hold Policy Center | 15 |
119 | TENANTADMIN#0 | Tenant Admin Site | 14 |
120 | TENANTADMIN#0 | Tenant Admin Site | 15 |
121 | visprus#0 | Visio Process Repository | 15 |
122 | visprus#0 | Visio Process Repository | 14 |
123 | WIKI#0 | Wiki Site | 15 |
124 | WIKI#0 | Wiki Site | 14 |
Auto Indexing List View in SharePoint 2016
To provide the business solution, we use SharePoint list and they are never been designed to replace database tables. However, SharePoint solution keeps on growing and we hit the 5000 threshold limit. This 5000 limit was to mitigate the lock escalation within the SQL Server.
To avoid this, sometimes we increase the limit to some extent (say 10k or any value). But this have an adverse effect on performance of the server. Rather than doing this, we should create indexes on columns in list and provide that column as filter in the view of the list.
A major improvement has been done by Microsoft in this area by introducing a new timer job – “Large List column index management”. This timer job examines the views in the list which exceed the 2500 items and then determines the appropriate columns to create the index on. The choice of index column depends on filters of the view & other list view definitions as well.
A new setting in the list has been introduced “Automatic Index Management” which must be set to “Yes” for the timer job to include the list for auto indexing the columns. This settings can be accessed by navigating to List Settings --> Advanced Settings --> Automatic Index Management. Also, by default this setting is enabled for all the lists.
This timer job runs per web application like that of List View Threshold. We can check whether this timer job is running for the web application by navigating to Central Admin --> Monitoring -->Timer Job Definitions --> Review Job Definitions
We can also check through PowerShell whether the timer job is running on the web application or not as mentioned below:
$webApp = Get-WebApplication –Name “Web App Name”
Get-SPTimerJob –WebApplication $webApp –Identity “job-list-automatic-index-management”
PowerShell command to start the timer job is mentioned below:
Start-SPTimerJob –Identity “job-list-automatic-index-management”
Document Library Views
In document library, default view is to sort the folders before files. Hence, an improvement is done in out of the box Document Library views to address the throttling related to sort ordering. Consider a scenario of large lists where it is necessary for SQL to scan the entire list to find all of the folders to meet the sort criteria.In SharePoint 2016 IT Preview, the folder first sort criteria is omitted.
Fast Site Collection Creation in SharePoint 2016
To improve provision performance of Site Collections, a mechanism has been designed in SharePoint 2016 which is known as Fast Site Collection Creation.
This feature leverages a copy operation using SPSite.Copy at the Content Database level thereby reducing Feature Activation overhead.
To address this feature, the crux is the enablement of the Site Master or master copy of the site collection for an enabled template which provides the source Site Collection when a request for creating new site collection is made.
First step is to enable the Fast Site Creation for a template and for that we need to execute the following the PowerShell Command:
Syntax: Enable-SPWebTemplateForSiteMaster -Template <TEMPLATENAME> -CompatibilityLevel 15
Example: Enable-SPWebTemplateForSiteMaster -Template “STS#0″ -CompatibilityLevel 15
Note: As the above command is template specific, we need to execute the above command for all the templates which are needed to include in the process of Fast Site Collection creation.
Next step is to create a Site Master in any one Content Database.
Site Master is actually an empty site collection that preserves all the settings, from the template it was created with and which will be required for the creation of new site collection. Also, it preserves the features to activate on copy of the site collection, templates setting etc.
For creating a Site Master, we require a content database and a fast site creation enabled template.
We will fetch the content database where a site collection is already provisioned.
$contentDatabase = Get-SPContentDatabase –site http://vmsp2016:80/sites/demosite
Now, we will create a Site Master through the below PowerShell command:
Syntax: New-SPSiteMaster -ContentDatabase <CONTENTDB> -Template <TEMPLATENAME>
Example: New-SPSiteMaster -ContentDatabase $contentDatabase -Template “STS#0″
To confirm whether Site Master has been created in a particular content database we use commandGet-SPSiteMaster.
Example: Get-SPSiteMaster $contentDatabase
For removing the Site Master from the content database we use command Remove-SPSiteMaster.
Syntax: Remove-SPSiteMaster $contentDatabase -SiteId <SiteId>
Example: Remove-SPSiteMaster $contentDatabase -SiteId "cb1ac950-ae39-45d6-8286-bcc35cdaee24"
In New-SPSite windows PowerShell cmdlet, a new parameter has been introduced named –CreateFromSiteMaster which leverages creation of new Site Collections through Fast Site Collection Creation.
Syntax: New-SPSite <SITE> -Template <TEMPLATE> -ContentDatabase <CONTENTDB> -CompatibilityLevel 15 -CreateFromSiteMaster -OwnerAlias <OWNER>
Example: New-SPSite http://vmsp2016/sites/DemoFastSite -Template "STS#0" -ContentDatabase $contentDatabse -CompatibilityLevel 15 -CreateFromSiteMaster -OwnerAlias “corp\sp_farmAdmin”
To check the time elapsed for the execution of above PowerShell cmdlet , re run the above command :
Measure-Command {New-SPSite http://vmsp2016/sites/DemoFastSite -Template "STS#0" -ContentDatabase $contentDatabse -CompatibilityLevel 15 -CreateFromSiteMaster -OwnerAlias “corp\sp_farmAdmin”}
Run normal command for SPSite creation in PowerShell to check time elapsed and then compare the time in both cases . You will find a difference in time in execution of the both the script :
Command for Site Creation without Fast Site Creation :
Measure-Command {New-SPSite http://vmsp2016/sites/DemoFastSite -Template "STS#0" -ContentDatabase $contentDatabse -CompatibilityLevel 15 -OwnerAlias “corp\sp_farmAdmin”}
Hence, with Fast Site Collection enabled, Site Collections are now created by copying at Content Database level. The Feature Activation which usually happens during the regular site collection creation does not occur in this case.
In case of feature based customization which perform special processing depending on the current site’s information, these will be incorrect. For mitigating this scenario, Features should be marked to be activated post-copy which will in turn execute their activation code post Site creation.
Refer below screenshot of central administration which depicts the Site Master and the brand new “DemoFastSite” Site Collection.
MinRole Administration in SharePoint 2016
Refer MinRole Feature in SharePoint 2016 for learning about the feature in detail.
With MinRole feature, the SharePoint 2016 installation has an additional screen which allows users to define the role for the server.
Upon selection, the server has the specific role which can be managed through central administration. There are some changes in Central Administration regarding management of servers in the farm, services in the farm , services on servers.
Servers in the Farm
On this page , the details about the servers joined in the farm are shown. It has two additional columns - Role & In Compliance
In Role column , the role which is assigned to the server is displayed .
In Compliance column , whether the server configuration is in compliance with the its server role. In case, if it's not in compliance, a Fix link will be provided to reconfigure the server automatically to meet the expected configuration of it's server role.
The Fix link is accessible to only members of Local Administrators group on the server which hosts the Central Administration.
Services in the Farm
In System Settings category of Central Administration a new link has added with name - Services in Farm which displays the state of each service in the farm . Three columns are present on this page namely : Auto Provision , Action and In Compliance.
Auto Provision : whether the service is enabled or disabled in the farm is displayed in this column. 'Yes' value is displayed under this column, then the service instances for this service will be started on the appropriate server in the farm and for "No" value it will be stopped.
Action : Depending on the type of service & whether service is enabled in the farm, this column has three values - Manage Service Application,Disable Auto Provision, and Enable Auto Provision
Manage Service Application | Indicates that the service is associated with the service application. Enabling or disabling of the service in the farm is done by its service application, when we create or delete the service application. |
Disable Auto Provision | Disables the service in the farm. Post clicking this link, the service instances will be stopped. Plus, appropriate services to be started on serves with roles that support that service and also stopped on others for the appropriate servers in the farm. |
Enable Auto Provision | Enables the service in the farm. Post clicking this link, service instances for this service will be started on the appropriate servers in the farm. |
In Compliance : whether the service is in compliance on every server in the farm is displayed under this column. In case, if it's not in compliance on the server, a Fix link will be provided to reconfigure the service instances of this service automatically to meet the expected configuration.
The Fix link is accessible to only members of Local Administrators group on the server which hosts the Central Administration.
Services on Server
All the service instances on a server are displayed on this page. Two additional things are added namely - In Compliance and Role of the server is displayed next to the server name.
This page is accessible all the members of the SharePoint Farm Administrators group as compared to earlier releases of SharePoint.
In Compliance : whether the service application is in compliance on this server is displayed under this column. In case, if it's not in compliance on this server, a Fix link will be provided to reconfigure the service instance on this server automatically to meet the expected configuration.
The Fix link is accessible to only members of Local Administrators group on the server which hosts the UNRESOLVED_TOKEN_VAL.
Action : In this column, the Start or Stop link has been removed for servers which are managed by MinRole. Only visible link is Restart for service instances which are started on the server.
Start and Stop links will be displayed for the servers that are assigned to Custom Role.
No comments:
Post a Comment