In both SharePoint 2010 and 2013, you might come across this message in the Health Analyzer. Basically this indicates that one or more application doesn't have a Search Service Connection with it (most times it is the User Profile Service).
As it turns out, this may or may not be correct!
First of all, ‘Services’ are assigned to each application. This is what makes SharePoint “multi-purpose” and “multi-tenant” (just in case you don’t know, there can be different ‘groups’ of services for specific purpose – for example: common services (BDC, MMS, etc.) across two applications but separate search for each as in an intranet/extranet).
There is always a group of these called ‘default’. When a Service Application is created, it is either assigned as default or not. Other groups (considered ‘custom’) are assigned at the Application level when the app is created. So easiest to think of it this way – you can create as many (or few) services you need then spread them out across applications; each application can have the same or different settings.
To see these settings is simple – open your Central Administration Site, click on the Manage Web Applications link to open the management page:
Click the name of the application in question to select it (as shown, SharePoint – 80) then click Service Connections in the ribbon:
From here you can select the group – default is of course, ‘default’. Selecting [custom] allows you to create a new group where you can change which Services are available to this application. For example, you might not want Excel available:
So back to the error - Two conditions appear to generate it:
- Indeed there is not a Search Service assigned to the particular application – the fix is to simply add it. This is only typical if custom groupings have been used.
- One of:
a. The Search Service was created and not assigned as default
b. More than one Search Service was created and none are assigned as default
c. The Search Service was rebuilt at some point and not assigned as default
If it is any one of #2 above, the error will remain until a Search Service is assigned to the default group.
Now comes in the problem – you can easily reassign services as you saw above, however, you CANNOT add a service to the default group without using PowerShell (thanks guys…).
Within PowerShell, you have the ability to add and remove Service assignments using the “Add-SPServiceApplicationProxyGroupMember” and “Remove-SPServiceApplicationProxyGroupMember” commands. However, there is a gotcha when trying to add to the default – in reality the ‘default’ group has no ‘identity’ name (it’s blank).
Rather than reproduce the results of two excellent posts (kudos to you both) – see the following two articles (note that the same steps work for both 2010 and 2013):
Associating Services to Custom Application Proxy Groups in SharePoint 2010: http://ekhanna.wordpress.com/tag/add-spserviceapplicationproxygroupmember/
And for dealing with how to use the Default Group: http://pinchii.com/home/tag/add-spserviceapplicationproxygroupmember/
Hopefully this will save you some time and headache!