Wednesday 26 February 2014

User Profile Replication Service : Can not access Destination web service SharePoint 2013 farms

Got the error Start-SPProfileServiceFullReplication : Can not access Destination web service whilst performing one way User Profile Replication between two SharePoint 2013 farm's for About Me and PictureURL properties This worked beautifully whilst performing the Replication on Pre-Prod Farm but not on Prod farms

Did check various bits and pieces for permissions for the farm account as listed on various blogs but was of not much help. 

Performed the following steps to resolve this

Launch SharePoint 2013 Management Shell

Changed the Directory to  C:\Program Files\Microsoft\SharePoint 2010 Administration Toolkit\Replication Engine

Added the PS Snap in

Add-PSSnapin Microsoft.Office.Server.AdministrationToolkit.ReplicationEngine

Tried the command 

Start-SPProfileServiceFullReplication -Destination https://mydestination.contoso.com  -Source http://mysource.contotos.com -EnableInstrumentation -MaxNumberOfThreads 15 -Properties "AboutMe", "PictureURL" -DoSocialReplication

Didn't work, tried accessing the My Site from the server that didn't load even though loop back was disabled.

Was able to access My Site User Profile Service from an end user machine which indicated there was no issue the web service as it was accessible.

Found that the Proxy Server in Internet Explorer Connection Settings was enabled and set to the proxy server on the Front End server from where I was running the command.

Disabled the Proxy in IE, executed the command again boom replication started and was successful

At times there are some specific settings which cause the issue. Another day another dollar.

User Profile Synchronization Service stuck in stopping state in SharePoint 2013 farm

We had this issue of User Profile Synchronization Service stuck in stopping state in one of the  SharePoint 2013 farms. Performed the following steps to resolve this.

Log on to the Server where User Profile Synchronization Service was stuck in stopping state.

Make sure the Forefront Identity Manager and Forefront Identity Manager Synchronization Service are using the farm account as the service account

Launch SharePoint 2013 Management Shell

Get the GUID for User Profile Synchronization Service
Get-SPServiceInstance | Select-Object TypeName, ID

Check the status of User Profile Synchronization Service

Get-SPServiceInstance -Identity GUIDOfUserProfileSynchronization

To stop this , type the GUID of User Profile Synchronization Serviec

Stop-SPServiceInstance -Identity GUIDOfUserProfileSynchronization

IISRESET on the front end servers.

Spencer Harbar's article is a must read to understand and troubleshoot the issue.

Wednesday 5 February 2014

Failed to load protocol handler OSearch15.HttpHandler.1. Error description: The parameter is incorrect.

Got this error on one of the development machine on SharePoint 2013 while crawling a content source for SharePoint sites.
 
Failed to load protocol handler OSearch15.HttpHandler.1. Error description: The parameter is incorrect.
 
SharePoint Search Content Account had Full Read access on the Web Application.
Tried various steps starting , restarting the following services in the hope this may resolve the issue
 
  • SharePoint Server Search 15
  • SharePoint Search Host Controller
  • SharePoint Timer Service
IISRESET

None worked.
 
Tried stopping and starting the following from Manage Services on Server from Central Admin, no go
  • Search Host Controller Service 
  • Search Query and Site Settings Service 
Deleted the Search Service Application, Proxy and Re-created the Search Service Application with new Search Proxy

Same error while crawling the Content Source for SharePoint sites.
Deleted the Search Service App Again

Launched ULS Logs while re-creating Search Service Application.

Found that Indexer was already there on C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Applications for the old rogue Search Service App and search had to re-create a new one and there was some conflict

Deleted Search Service App one last time

Took a copy of all the files at C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Applications
Deleted all the files from here

Re-created the Search Service App with new Proxy and specified the Index file path to different location i.e. D:\Index\ via PowerShell check MSDN for the commands

Deleted the Search Center site , re-created a new one

Ran the crawl , worked fine without any issues.

This solution may not work in your environment, check the ULS to identify and troubleshoot the issue.

Tuesday 4 February 2014

Getting results failed: Microsoft.Office.Server.Search.Query.InternalQueryErrorException: Search has encountered a problem that prevents results from being returned. if the issue persists, please contact your administrator.

 
While running a Search on the Search Center as well Local search , on one of the Development farm got this error in SharePoint 2013 Search Center site
 
Getting results failed: Microsoft.Office.Server.Search.Query.InternalQueryErrorException: Search has encountered a problem that prevents results from being returned.  if the issue persists, please contact your administrator.   
 
Performed the following steps to resolve this after looking into ULS logs to identify the issue. Found that the search proxy was too busy to respond.
 
Get the Search Service Application ID

Get-SPServiceApplication
 
Get the Search Service Proxy ID

Get-SPServiceApplicationProxy
Remove the Search Proxy, replace SearchProxyID with the Search Service Proxy ID
 
 
Remove-SPEnterpriseSearchServiceApplicationProxy -Identity <SearchProxyID>
Replace the SearchID

$enterprisesearch = Get-SPEnterpriseSearchServiceApplication <SearchID>
$enterprisesearchproxy = New-SPEnterpriseSearchServiceApplicationProxy  -name SearchServiceProxy -Uri $enterprisesearch.uri.absoluteURI

$enterprisesearchproxy

IISreset

Reset the Indexer not required but did that anyways

Run a full crawl of the content sources

Boom issue resolved. This took some digging in the ULS to understand the exact issue and find the resoulution