Improvement in File Transfer in SharePoint 2016

SharePoint Version Mechanism Description
SharePoint 2010 Cobalt protocol Server has to fetch the whole document from the database and merge the existing content with the user changes before saving the whole document back to the content database.
SharePoint 2013 Shredded Storage This allows documents to be stored in small pieces in the content database. Because documents are already “shredded” in the database, the server does not have to fetch the whole document to merge the original contents with the changes, which reduces the server processing overhead.
SharePoint 2016 Background Intelligent Transfer Service (BITS) Improves upload and download speeds and resiliency.



Work Process: SharePoint Server 2016

Name: SharePoint Administration
Service Name: SPAdminV4
Description: Performs administrative tasks for SharePoint
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\WSSADMIN.EXE

WSSADMIN properties
Name: SharePoint Insights
Service Name: SPInsights
Description: Microsoft SharePoint Insights is a hybrid solution that helps SharePoint administrators manage their infrastructure more efficiently. After it is configured properly, it will upload data to Microsoft and give administrators access to different reports in Office 365.
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\OfficeDataLoader\Microsoft.Office.BigData.DataLoader.exe
Name: SharePoint Search Host Controller
Service Name: SPSearchHostController
Description: Performs host deployment and management for SharePoint search components.
Path to Executable: C:\Program Files\Microsoft Office Servers\16.0\Search\HostController\hostcontrollerservice.exe

Name: SharePoint Server Search 16
Service Name: OSearch16
Description: Administers and crawls content from repositories.
Path to Executable: C:\Program Files\Microsoft Office Servers\16.0\Bin\mssearch.exe

Name: SharePoint Timer Service
Service Name: SPTimerV4
Description: Sends notifications and performs scheduled tasks for SharePoint
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\OWSTIMER.EXE

Name: SharePoint Tracing Service
Service Name: SPTraceV4
Description: Manages trace output
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\wsstracing.exe

Name: SharePoint User Code Host
Service Name: SPUserCodeV4
Description: Executes user code in a sandbox
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\UserCode\SPUCHostService.exe
Name: SharePoint VSS Writer
Service Name: SPWriterV4
Description: SharePoint VSS Writer
Path to Executable: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\SPWRITER.EXE

Name: Microsoft Project Server Calculation Service 2016
Service Name: ProjectCalcService16
Description: Microsoft Project Server Calculation Service manages the lifecycle and the communication of the processes that handle modifications to projects.
Path to Executable: C:\Program Files\Microsoft Office Servers\16.0\Bin\Microsoft.Office.Project.Server.Calculation.exe
Name: Microsoft Project Server Events Service 2016
Service Name: ProjectEventService16
Description: Microsoft Project Server Events Service executes events triggered by changes to entities on the ProjectServer.
Path to Executable: C:\Program Files\Microsoft Office Servers\16.0\Bin\Microsoft.Office.Project.Server.Eventing.exe
Name: Microsoft Project Server Queue Service 2016
Service Name: ProjectQueueService16
Description: Microsoft Project Server Queue Service executes project related jobs asynchronously. Example queue jobs: Save project, publish project, submit timesheet.
Path to Executable: C:\Program Files\Microsoft Office Servers\16.0\Bin\Microsoft.Office.Project.Server.Queuing.exe

Click on the image to view larger resolution

Work Process_1

Work Process_2

Work Process_3

Work Process_4


Built-in content type and its ID

Below is the list of built-in content type and its id.

Built in content type id

Built in content type id

Exciting news SharePoint Server 2019 On-Premises is going to be released

Next office version is announced by Microsoft. New Office 2019 is expected to contain Office apps like Word, Excel, PowerPoint as well as products like Exchange, SharePoint and Skype for Business.

Previews expected to start shipping mid-year 2018, final release may be late 2018. SharePoint Server 2019 on-premises version will be based on the foundational release of SharePoint Server 2016. Bring closer to cloud will be the primary goal.

Expectation from SharePoint Server 2019 on-premises:

Next Generation OneDrive Sync Client, no support for SharePoint 2016, PowerApps integration, Team News and Communication sites, but no Hub Sites, Modern UI, InfoPath is still supported

Storage Locations for files gathered by the Crawl Component sharepoint 2013

When gathering files from a content source, the SharePoint 2013 Crawl Component can be very I/O intensive process – locally writing all of the files it gathers from content repositories to its to temporary file paths and having them read by the Content Processing Component during document parsing. This post can help you understand where the Crawl Components write temporary files, which can help in planning and performance troubleshooting (e.g. Why does disk performance of my C:\ drive get so bad – or worse, fill up – when I start a large crawl?)

By default, all Search data files will be written within the Installation Path

  • The Data Directory (by default, a sub-directory of the Installation Path) specifies the path for all Search data files including those used by I/O intensive components (Crawl, Analytics, and Index Components)
    • The Data Directory can only be configured at the time of Installation (e.g. it can only be changed if uninstalling/re-installing SharePoint on the given server)
      • From the Installation Wizard, choose the “File Location” tab as seen below
      • IMPORTANT: Before uninstalling SharePoint, first modify your Search topology by removing any Search components from the applicable server. Once SharePoint is re-installed, you can once again deploy the components back to this server.
    • The defined path can be viewed in the registry:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\15.0\Search\Setup\DataDirectory

    • Advanced Note: The Index files (by default, written to the Data Directory) path can be configured separately when provisioning an Index Component via PowerShell using the “RootDirectory” parameter

(As a side note: the graphic is only intended to display the default locations specified at install time. It is recommended to change these to a file path other than C:\ drive)

For the Crawl Component:

  • When crawling [gathering] an item, the filter daemon (mssdmn.exe – a child process of the Crawl Component that actually interfaces with an end content repository using a Search Connector/Protocol Handler) will download any applicable file blobs to the SSA’s “TempPath” (e.g. an HTML file, a Word document, a PowerPoint presentation, etc)
    • In the graphic below, this is step 2a
    • The defined path can be viewed either:
      • In the registry (of a Crawl server)

        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\15.0\Search\Global\Gathering Manager\TempPath

      • Or as a property of the SSA:

        $SSA = Get-SPEnterpriseSearchServiceApplication


  • When the filter daemon completes the gathering of an item, it is returned to the Gathering Manager (mssearch.exe – responsible for orchestrating a crawl of a given item) and the applicable blob is moved to the “GathererDataPath“, which is a path relative to the DataDirectory mentioned above.
    • In the graphic below, this occurs in step 2b
    • The defined path can be viewed in the registry (of a Crawl server):

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\15.0\Search\Components\-GUID-of-theSSA-crawl-0\GathererDataPath

  • The GathererDataPath is mapped as a network share (used by the Content Processing Components)
    • The shared path can be viewed in the registry (of a Crawl server):

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\15.0\Search\Components\-GUID-of-theSSA-crawl-0\GathererDataShare

Usage by the Content Processing Components:

  • When the item is fed from the Crawler to the Content Processing Component (step 3 above), the item is only logically submitted to the CPC in a serialized payload of properties that represent that particular item – any related blob would remain on the Crawler and retrieved by a later stage in the processing flow
    • For SharePoint list items, there would typically not be a blob (unless the list item had an attachment)
    • For a document in a SharePoint library, the blob would represent the item’s associated file (such as a Word document)
  • During the Document Parsing stage in the processing flow (e.g. during step 4 above), the item’s blob will be retrieved from the Crawl Component via the GathererDataShare
  • When the Crawl Component receives a callback (success or failure) from the CPC (e.g. in step 6b above after an item has been processed), the temporary blob is then deleted from the GathererDataPath

An example path to an item with DocID 933112 would look like the following:


#0xe3cf8 hex = 933112 decimal


  • crawlerSrv is a server running a crawl component
  • gthrsvc_-GUID-of-theSearchAdminWebServiceApp--crawl-0 is the name of the crawl component
    • This GUID can be identified using the following PowerShell:

      $SSA = Get-SPEnterpriseSearchServiceApplication

      $searchAdminWeb = Get-SPServiceApplication –Name $



  • And the file name is actually re-named to the hex value of the docID
    • For example: 0xe3cf8 hex = 933112 decimal
    • Which we can see in ULS, such as:
      • From the Crawl Component (in this case, running on server “faceman”):

        mssearch.exe     SharePoint Server Search Crawler:Content Plugin      af7zf VerboseEx

        CTSDocument: FeedingDocument: properties : strDocID = ssic://933112 key = path values =\\FACEMAN\gthrsvc_7ecdbb10-3c86-4298-ab09-04f61aaeb636-crawl-0\\f8\0xe3cf8.aspx 

      • From the Content Processing Component:

        NodeRunnerContent2-834ebb1f-009    Search    Document Parsing      ai3ef VerboseEx

        AttachDocParser – Parsing: ‘file://faceman/gthrsvc_7ecdbb10-3c86-4298-ab09-04f61aaeb636-crawl-0//f8/0xe3cf8.aspx’

SharePoint Health Analyzer rules reference SharePoint 2013

Azure Advisor, Monitor, and resource health general availability

SharePoint 2010 Search result Not found documents for a specific library in specific SharePoint site

Hi All,

I came across a situation where user is trying to search documents selecting the option “search in same site” instead of “all sites” from  search box and getting no result where as can find documents from other library with in same site.

Why such happens ?

The first point comes to mind for search error is  content not crawled, indexing not done for this situation.

Yes , its true but we need to think why  ?

As per my investigation I found the setting of the library as below


By default SharePoint only crawls major versions of files and draft items are only viewable by their creators. SharePoint is behaving as expected out of box.Draft items are not crawled in SharePoint

Resolution :

This behavior can be altered in Document Library Settings -> Versioning Settings -> Draft Item Security

Select the option “Any user who can read items”.

This will allow all users to see draft items including the crawling account.

  • Else you need to select “Create major versions” option or can publish the documents as major versions if want to get those documents in search result as per client wish.

Project Active Directory Connection Failed Project Server

Element ID / Rule name:



This monitor indicates that Microsoft Project Web App could not access the Active Directory directory service.

When an administrator browses to the “Active Directory Enterprise Resource Pool Synchronization” or “Add or Edit Group” page by using Project Web App, Project Web App checks the current availability of the Active Directory forests. This check determines whether the Find Group button on those pages is enabled.

If the Find Group button is available, administrators can use it to choose which Active Directory group to use for synchronization.


One or more of the following situations might be the cause:

The Microsoft Project Server application server is using a SharePoint Service Account (SA) account that does not have read access to Active Directory.

The Project Server application server may no longer be joined to an Active Directory domain.

The Project Server application server does not currently have network access to the domain.

Ports required for Project Server and Active Directory to communicate are not open between the Project Server application server and the Active Directory store. This can occur if a firewall is configured to block a port described in the following list:

389/UDP – LDAP: LDAP is the Lightweight Directory Access Protocol that is designed to provide a standard way to access directory services. LDAP is the primary protocol used to access an Active Directory store.

636/TCP – LDAP over SSL: When Secure Sockets Layer (SSL) is enabled, the LDAP data that is transmitted and received is encrypted.

3268/TCP – Microsoft Global Catalog: Active Directory global catalogs listen on this port.

3269/TCP – Microsoft Global Catalog with LDAP/SSL: Microsoft global catalog SSL connections listen on this port.

Possible resolutions include:

Verify that the service account used by the SA used by the Project Server application server is a domain account that has read access to Active Directory.

Verify that the Project Server application server is joined to an Active Directory domain.

Verify that the Project Server application server has network access.

Verify that the ports listed in the previous section are open between the Active Directory store and the Project Server application server.