SharePoint 2013 – Search component degrade errors

April 19, 2013

Issue: After modifying the search topology you may be seeing one of the search component with degraded icon as shown below.

s_d2

Reason in this case is that I have changed the search service account, when you provision the search service application with the PowerShell script – central admin app pool account will be used as Search service which is not a good practice.

after changing the search service account – index location changed the icon changed to degraded.

Microsoft.Ceres.SearchCore.Journal.JournalComponent[Configuring] Component failure: Failed to configure component Microsoft.Ceres.CoreServices.Services.Configuration.ComponentConfigurationException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) —> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)     at Microsoft.Ceres.CoreServices.Storage.Util.StreamFactory.CreateFileHandle(String path, FileMode mode, FileAccess acc, FileShare share, Int32 fileOptions, Int32 blockSize)     at Microsoft.Ceres.CoreServices.Storage.AbstractD

Solution:

Looking into SharePoint 2013  logs – after modifying the search service account, WSS_WPG group doesn’t have access to the Index location. (In my case I have changed the index location from default to a different directory).

after assigning the WSS_WPG group Full access to the index location , index component status back to normal !!.

s_d3

Hope this helps some one :-).


SharePoint 2013 Search – Add Index Replica

April 19, 2013

Topic – How to add an Index Replica to web front end servers in SharePoint 2012 – Search topology:

For many reasons you may want to extend your SharePoint 2013 search topology and one of the requirements is add Index Replica to dedicated web servers or web front ends. Below is the procedure how we can do this.

here is the screen shot with one server – search service application provisioned with all roles in that box.

s_q1

Two more web front end servers are added to the Farm (WFE01 and WFE02). Our end goal is assign add index replicas to the front end servers as below:

s_q2

Ref: http://technet.microsoft.com/en-us/library/jj862355.aspx#Search_Index_Repl

Imp Note: Before you start working on the PowerShell command, add the Firewall inbound rule to allow TCP port 808 on all SharePoint servers of the farm

Here are the PowerShell commands how to do it:

#clone the Active search topology

$ssa = Get-SPServiceApplication -Name “Search Service Application”

$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active;

$clone = New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $active;

#Start the EnterPrise Search Component on wfe

$WFE01 = Get-SPEnterpriseSearchServiceInstance -Identity “WFE01”;

Start-SPEnterpriseSearchServiceInstance -Identity $WFE01;

# wait for 5 mins to start the search services

sleep 5;

# Make sure the search service instance status online before proceeding next steps

Get-SPEnterpriseSearchServiceInstance -Identity $WFE01;

# wait untill the status online before proceeding next steps, once the status online

# Add index replica on wfe

New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -SearchServiceInstance $WFE01 -IndexPartition 0;

#Activate the cloned search topology

Set-SPEnterpriseSearchTopology -Identity $clone;

#At this point PowerShell command prompt freezes until the search topology active. once it is active you can refresh the Search service application and see the topology changes;

#Repeat the same process for WFE02.


SharePoint 2013 Search – Assign query role to web servers

April 19, 2013

Topic – How to assign query role to web front end servers in SharePoint 2012 – Search topology:

For many reasons you may want to extend your SharePoint 2013 search topology and one of the requirements is assign the query role to dedicated web servers or web front ends. Below is the procedure how we can do this.

here is the screen shot with one server – search service application provisioned with all roles in that box.

s_q1

Two more web front end servers are added to the Farm (WFE01 and WFE02). Our end goal is assign query roles to these two web front end servers as below:

s_q2

Ref: http://technet.microsoft.com/en-us/library/jj862354.aspx

Imp Note: Before you start working on the PowerShell command, add the Firewall inbound rule to allow TCP port 808 on all SharePoint servers of the farm

Here are the PowerShell commands how to do it:

#clone the Active search topology

$ssa = Get-SPServiceApplication -Name “Search Service Application”

$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active;

$clone = New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $active;

#Start the EnterPrise Search Component on wfe

$WFE01 = Get-SPEnterpriseSearchServiceInstance -Identity “WFE01”;

Start-SPEnterpriseSearchServiceInstance -Identity $WFE01;

# wait for 5 mins to start the search services

sleep 5;

# Make sure the search service instance status online before proceeding next steps

Get-SPEnterpriseSearchServiceInstance -Identity $WFE01;

# wait untill the status online before proceeding next steps, once the status online

# Add new search compomenent on wfe

New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $clone -SearchServiceInstance $WFE01;

#Activate the cloned search topology

Set-SPEnterpriseSearchTopology -Identity $clone;

#At this point PowerShell command prompt freezes until the search topology active. once it is active you can refresh the Search service application and see the topology changes;

#Repeat the same process for WFE02.


SharePoint 2013 Find the search index location

April 12, 2013

Question:  How can I find SharePoint 2013 search index location?

Answer: Use the below PowerShell commands to find the search index location

$ssa = Get-SPServiceApplication –Name 
“Search Service Application”
$active = Get-SPEnterpriseSearchTopology 
-SearchApplication $ssa -Active
Get-SPEnterpriseSearchComponent -SearchTopology $active

Below are the screen shots:

s_fi1

You will get the search index location as

s_fi2