Thursday, May 31, 2018

Tracing the SharePoint Online Performance Issue

Recently I  happen to suggest some of the points to the  real time issue on SharePoint Online. An user experienced that his site is extremely slow due to some unknown reasons.

This site has been recently migrated to O365 from on premise SharePoint 2013 server through 3rd party migration tool.

Here are my suggestions to narrow down the issue.

I have asked him to first check the "Service Health" for SharePoint Online. You have to be O365 tenant administrator to access the Service Health details on Admin Center.

There you can find the SharePoint Online health service, If there is any issue on this, Microsoft categories the severity of the problem in to three category as healthy, advisory and incident.

If there is serious service degradation then it will be logged into Incident category and list all the impacted services like shown in this image.






You have to wait till this issue get resolved from Microsoft end.

Fortunately, user's tenant dashboard shows healthy sign, still the SharePoint Online site which is less than 100GB size started to show the slow performance.

There could be below listed causes those are the reason for this performance issues, you can focus on these,
as it is migrated from OnPremise,


  1. Please ensure there is no deleted sites/list/libraries on your recycle bin, There could be a chance storage capacity might have been reached the threshold. Scan the Storage metrics on your site collection (_layouts/15/storman.aspx?root=&OrderBy=0&Asc=0&Page=0)
  2. Ensure all the folders and file URLs are not exceeding the defined length.
  3. If you have Sandbox solutions on your old sites, then try to deactivate unnecessary features on the site collection.
  4. Verify the migrated site's master page and layout pages are compatible with O365 site.
  5. Finally you can also check the site collection's health (https://tenantname _layouts/15/sitehealthcheck.aspx)
Site Collection Health Check for SharePoint Online will shows all the problems that occurs either before upgrade or post upgrade of you 
site.

So there could be list of incompatibles from your OnPremise site and its artifacts such as

  1. Master Page and Layout
  2. Content Type Conflicts 
  3.  Missing galleries 
  4. Missing Site Templates
  5. Sandbox Solutions and
  6. Unsupported language package references 
You have to resolve all these problems reported by Health Check.

Last but not least,

There could be storage capacity also causes your site to show the performance issue syndrome. You can trace and track of all SharePoint artifacts and its size from "Storage Metric" page (https://tenant.sharepoint.com/_layouts/15/storman.aspx). 


If you short of the storage space , then you can purchase the space from your SharePoint Online administration page for your site collection.

Sunday, April 08, 2018

When to use UsesqlSnapshot with Backup command

Here is the tips and best practice you can follow while taking backup your SharePoint site collection.

Consider the scenario, your site collection is very huge and wanted to take the backup using SharePoint PowerShell command BackUp command and in peak hours, where your users are continuously working on it.


Backup-SPSite http://server/sites/myteam -path D:\SiteBackUp\08-04-18_myteam\08-04-18_myteam.bak

When you using the above command, your site being locked and set to read-only until site backup job completes, So your will see the performance problem and cannot add anything to your site collection.



Backup-SPSite http://server/sites/myteam -path D:\SiteBackUp\08-04-18_myteam\08-04-18_myteam.bak -UseSqlSnapshot

When you use the backup-spsite parameter -UseSQLSnapshot, while backup process is on all the transaction will be saved it SQL Snapshot and later it will update back to respective site collection's content database and the SQL Snapshot will be deleted and free your storage and resources.

Saturday, March 17, 2018

How I resolved the SharePoint Search problem

I was trying search the known word in my site collection, I have got this error with  details.



To find the exact reason for this error, you can search the correlation ID in your LOG file. By default, it will be located in

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS

Under this folder  open the log which modified by the SharePoint latest. Simply you can filter the above folder by "Date Modified".

There are three ways to retrieve the exception detail for the above correlation ID.


  1. Open the log file and search it with correlation Id.
  2. Download the utility called ULS Viewer for SharePoint 2013 from Microsoft
  3. Through SharePoint PowerShell. (SPLogEvent)
Get-SPLogEvent | ?{$_.Correlation -eq "2a445737-cc2c-4541-bc22-a763dc611ece"} | select  Message | Format-List




Microsoft.Office.Server.Search.Administration.IndexingScheduleJobDefinition (ID 2a445737-cc2c-4541-bc22-a763dc611ece) threw an exception. More information is included below.  The password of the search service account has expired. To update the password visit the services on server page and update the password for the search service.

And the exception message has more explanatory and advised me to check this on the server page, that means go to your Search Service application Page on your central administration.



It means , Search Service Application's service account on your SharePoint Server experiencing the failure when trying to connect the Web Service / Search service application related SQL database/ or any Search Components.

You need to go to Services on your Server and find the SharePoint related service.



Right click on the service and update the LogOn password for these service accounts.

After doing this, I can able to search it on my site collection.




Wednesday, March 07, 2018

Handling unused site collection in SharePoint

On the Information capacity plan and its management in SharePoint, finding the inactive site collection and archiving it for future reference or disposing the site collection.

You can create the site policy to dispose the site collection, in site policy you can specify the duration, beyond this duration you can notify the administrator of the site collection for the next steps to be taken on it. You may set the read only or deleting the same.

Inactive site (unused) occupies the considerable storage space in the database and often leads to exceeding DB size and eventually performance issue on your server.

For better organize you can separate the site collection in to separate content database.

Apart from Site Policy on identifying the unused site collection, you can also use the SPSite class properties LastContentModifiedDate and LastSecurityModifiedDate.

         Using (SPSite site = new SPSite (SPContext.Current.Site.Url))
            {
                DateTime lastContentModified = site.LastContentModifiedDate;
                DateTime lastSecurityModified = site.LastSecurityModifiedDate;

            }