SharePoint 2010: Missing Server Side Dependencies
--- SUMMARY ---
SharePoint 2010 SP1 + 2011 August CU multi-server farm's Central Admin site's Health Analyzer shows "Mising Server Side Dependencies" on Web Part ID [baf5274e-a800-8dc3-96d0-0003d9405663]. Solution is to replicate Central Admin site's virtual directory folder and the web.config file from the server hosting Central Admin site to all other WFE servers, like if the virtual directory of central admin site on the AP server is "C:\inetpub\wwwroot\wss\VirtualDirectories\55555", then create a folder "55555" under "C:\inetpub\wwwroot\wss\VirtualDirectories" on every other WFE servers and copy the web.config file from AP server's 55555 folder to every other WFE servers' 55555 folder.
The issue came to me when I was setting up a fresh multi-server farm for a client. To keep things simple, let’s just use small farm scenario as below:
Environment
==========
1 x WFE Server: SP2010WB01
-------------------------------
Hosts 1 web application, content DB name [SP2010_Content_80]
1 x AP Server: SP2010AP01
----------------------------
Hosts Central Administration Site [SP2010_AdminContentDB] and all service applications
1 x DB Server: SP2010DB01
SharePoint Patch: SP1 + 2011 August CU (14.0.6109.5000)
Problem Description
===============
"Missing Server Side Dependencies" shows up in SharePoint Central Administration site's Heath Analyzer shown here [MissingServerSideDependencies_AP.pdf]. Below is a list of reported MissingWebParts and Web Part ClassID that are reference in the content database [SP2010_AdminContentDB].
[baf5274e-a800-8dc3-96d0-0003d9405663]
[9eba9c17-3b89-a2e7-a3cf-0ee3d7c2adb1] SearchTopologyView
[07f48b68-2e69-c86a-ebe4-16359e03ebc2] AdvancedSearchBox
[23091f6c-295d-4493-504c-1714a20d65a2] PeopleRefinementWebPart
[7d319bdd-d90e-7861-b7f0-2f9f4cec3004] CoreResultsWebPart
[c744e2b2-158c-c2f8-2f80-54bf046ff644] PeopleSearchBoxEx
[b36f9dfe-325a-1b44-e6bb-645dcf79c770] FarmSystemStatus
[0a60f514-1dea-8537-b588-64ee5e224da3] SearchBoxEx
[9f56656f-6aa3-0d55-a812-711bf65864ea]
[9637ed85-7d44-e135-35ba-73ce390ebf93] SearchPagingWebPart
[2fc2e287-55c9-b5d1-0d5c-7458bc3c9841] ContactFieldControl
[8acac35f-e9d3-95c3-76c7-76fe034cef50] SearchSummaryWebPart
[926a1a3e-d1ff-f58f-8b3a-854974660703] ContentSourcesStatus
[f9c020f4-bcb2-3629-0460-9e5ec4c9de93] QuerySuggestionsWebPart
[de8c8afc-7c6e-e9fc-91c2-aa4a291c3623] SearchApplicationSystemStatus
[bc8768f7-7d8c-1d56-b5a5-bb19cca9c7b8] FederatedResultsWebPart
[83d7efb5-5a0a-0d4e-fc32-cf0eae4b6cb1] SearchStatsWebPart
[42b6d12b-947f-6ec4-9540-dc2f3e8f2425] PeopleCoreResultsWebPart
[3517e131-b02d-114b-1df2-dd9fa67b90c6] TopFederatedResultsWebPart
[d46a22f8-7373-12cb-4e07-e1b78e3dba96] RefinementWebPart
[5cc5df3a-29a8-a713-5898-e52e2dce72a8] SearchApplicationShortcutsList
[874f5460-71f9-fecc-e894-e7e858d9713e]
[ff79cbb5-48cf-96ee-3f74-f22cc1b00fbd] FarmSearchApplicationList
[0ff9a0d5-1514-7a3b-fb97-fccbc902e380] HighConfidenceWebPart
As you may have read from many other blogs, I also tried browsing to the following pages, but nothing worked. I guess it’s because none of the above Web Part Class ID is [8d6034c4-a416-e535-281a-6b714894e1aa]
e.g.
https://{centraladmin}/SearchAdministration.aspx
https://{centraladmin}/searchfarmdashboard.aspx
https://{centraladmin}/sites/Help/_catalogs/masterpage/SearchResults.aspx
https://{centraladmin}/sites/Help/_catalogs/masterpage/PeopleSearchResults.aspx
https://{centraladmin}/sites/Help/_catalogs/masterpage/TabViewPageLayout.aspx
https://{centraladmin}/sites/Help/_catalogs/masterpage/AdvancedSearchLayout.aspx
https://{centraladmin}/sites/Help/_catalogs/masterpage/SearchMain.aspx
Repro Steps
===========
- To reproduce this issue, provision Central Administration site only on the AP server, which is SP2010AP01 in this case. Make sure the AP server does not provision or hosts any other web applications by turning off “Microsoft SharePoint Foundation Web Application” service in SharePoint Central Admin –> System Settings –> Services on Server.
- Create a web application which contains at least 1 site collection. This web application will be provisioned only on the WFE server SP2010WB01 for the obvious reason.
- Go to SharePoint Central Administration site –> Monitoring –> Review problems and solutions
Analysis
===========
When you click on “Reanalyze Now” button, a timer job gets created “Microsoft.SharePoint.Administration.Health.ContentDatabaseCorruption On Demand Health Analysis Job” and executed by the timer service. If you click on this timer job definition, it shows the following:
Job Title | Microsoft.SharePoint.Administration.Health.ContentDatabaseCorruption On Demand Health Analysis Job |
Job Description | Runs a single SharePoint Health Analyzer Rule. |
Job Properties This section lists the properties for this job. | Web application: N/A Last run time: 10/8/2011 11:36 PM |
Now if we are talking about timer jobs and Timer Service, then we should automatically be thinking about the TimerLocks table in the farm’s configuration database. The table indicates which server’s timer service is responsible for executing all the timer jobs. The following SQL query would tell which server is currently responsible for running which timer jobs. (Just don’t let MS know that you run the query against the DB… )
SELECT TimerLocks.JobId, Objects.name, TimerLocks.lockedtime
FROM TimerLocks join Objects ON TimerLocks.lockedbyserverid = objects.id
During my experiment, the WFE server was locked for running all the timer jobs, therefore I stop the timer service on the WFE server, so I am sure that the AP bserver would be running all the timer jobs. You can use the following command to start and stop Timer Service.
net stop SPTimerV4
net start SPTimerV4
After “Reanalyze” the issue again, I got a different set of results in the explanation of “Missing Server Side Dependencies” reported that’s referenced in the database [SP1010_Content_80] which is the content database of portal web application provisioned on the WFE server, and nothing about the SP2010_AdminContentDB.
Click here for the complete reported log [MissingServerSideDependencies_WB.pdf]
[baf5274e-a800-8dc3-96d0-0003d9405663]
[07f48b68-2e69-c86a-ebe4-16359e03ebc2] AdvancedSearchBox
[7d319bdd-d90e-7861-b7f0-2f9f4cec3004] CoreResultsWebPart
[0a60f514-1dea-8537-b588-64ee5e224da3] SearchBoxEx
[9f56656f-6aa3-0d55-a812-711bf65864ea]
[9637ed85-7d44-e135-35ba-73ce390ebf93] SearchPagingWebPart
[8acac35f-e9d3-95c3-76c7-76fe034cef50] SearchSummaryWebPart
[f9c020f4-bcb2-3629-0460-9e5ec4c9de93] QuerySuggestionsWebPart
[83d7efb5-5a0a-0d4e-fc32-cf0eae4b6cb1] SearchStatsWebPart
[3517e131-b02d-114b-1df2-dd9fa67b90c6] TopFederatedResultsWebPart
[d46a22f8-7373-12cb-4e07-e1b78e3dba96] RefinementWebPart
[874f5460-71f9-fecc-e894-e7e858d9713e]
[107ab2dc-58a6-809c-9b41-f2e17e6e064f] ContentByQueryWebPart
[7494019e-cc3c-dc3d-88ee-f9782d55ba37] TableOfContentsWebPart
[0ff9a0d5-1514-7a3b-fb97-fccbc902e380] HighConfidenceWebPart
Checking the Health Analyzer Rule Definition of Missing server side dependencies; as you can see below, the rule is defined to run on Any Server. I guess it does not know the server role that it was running on. eg. the rule or the timer service does not go a further step to find out which server (and its role) is currently locked for running the timer job.
When the AP server is locked for running timer jobs, it reports all the missing server side dependencies about all other web applications’ content databases, since AP server does not host those web apps.
when the WFE server is locked for running timer jobs, it reports all the missing server side dependencies about Central Administration site’s content database, since WFE server does not host SharePoint Central Admin site.
Solutions
===========
I wouldn’t really call these solutions, but more of a workaround, since it’s obviously a bug.
Anyway, the solutions…..
Ignore the reported issue
Disable the “Missing Server Side Dependencies” rule definition for the time being.
Provision Central Administration site on all other WFE servers…. ( Personally I would never do this, even if the error shows up every minute in the event log…)
Duplicate the Central Admin web app’s virtual directory on all other WFE servers and copy the web.config file over.
for example, if the virtual directory of your Central Admin site on the AP server is under C:\inetpub\wwwroot\wss\VirtualDirectories\55555, then create the same folder under every WFE servers.In this case, I created a folder called “55555” under C:\inetpub\wwwroot\wss\VirtualDirectories\ and I copied web.config file from the folder on AP server to the same folder on the WFE server.
By doing this, we can trick the SharePoint Health Analyzer / timer service to think there is a Central Admin site on every server in the farm, so it wouldn’t matter which server is locked for running the timer jobs.
Further Information
=========== ====
Apparently, MS is aware of the issue and is going to fix it in the next CU… (finger crossed…).
Hope this helps.
Cheers,
Allen Wang
Comments
- Anonymous
October 18, 2011
Great to hear it's a bug and not a feature by MS. :)I was looking for a solution quite awhile now. - Anonymous
January 03, 2012
What i'm miffed on here, is where these missing dependencies exist on SharePoint 2010 environments that DO NOT have SP1 installed, this has hampered my ability to update to SP1. I just built a new SharePoint 2010 Ent with SP1 and Dec 2011 CU and these missing dependencies are back in the Review Problems and Solutions...Grrrrrr!!!!!! - Anonymous
January 19, 2012
I'm also having problems patching to SP1 in a multiple server farm due to missing service dependencies, that exist on the WFE, but does not exist on the APP servers.What can I do to be able to upgrade to SP1 and CUs?Is there any way to force the timer job to run on a WFE server during installation of SP1? - Anonymous
May 12, 2012
profadmins.com/.../title-missing-server-side-dependencies - Anonymous
June 10, 2012
Solutions===========I wouldn’t really call these solutions, but more of a workaround, since it’s obviously a bug.Anyway, the solutions….. Ignore the reported issue (and what happend's when you think about migrate another version?) Disable the “Missing Server Side Dependencies” rule definition for the time being. (and what happend's when you think about migrate another version?) Provision Central Administration site on all other WFE servers…. ( Personally I would never do this, even if the error shows up every minute in the event log…) (fake!) Duplicate the Central Admin web app’s virtual directory on all other WFE servers and copy the web.config file over. for example, if the virtual directory of your Central Admin site on the AP server is under C:inetpubwwwrootwssVirtualDirectories55555, then create the same folder under every WFE servers. (of course, are you working before with Sharepoint??) In this case, I created a folder called “55555” under C:inetpubwwwrootwssVirtualDirectories and I copied web.config file from the folder on AP server to the same folder on the WFE server. By doing this, we can trick the SharePoint Health Analyzer / timer service to think there is a Central Admin site on every server in the farm, so it wouldn’t matter which server is locked for running the timer jobs. - Anonymous
September 02, 2012
Still doesn't look fixed. - Anonymous
January 13, 2013
Hi,I have this Issue on my WFE servers, and got SP1 and June 2011 CU. Is this problem now solved in newer CUs? - Anonymous
April 23, 2013
The comment has been removed - Anonymous
May 06, 2013
I am seeing this issue as well on a brand new install with CU April 2013 and OWA installed to CU Dec 2012. Multiple servers in the farm, with a dedicated CA, app, and wfe servers... - Anonymous
August 11, 2013
Gracias, funciona en mi granja. - Anonymous
April 04, 2014
Thanks Allen.. I found it still occurring with 2010 SP1 Dec 13 CU. - Anonymous
May 22, 2014
Thank you!!! It works for me on SharePoint 2013 with 3 servers. It´s a big bug, Ms must solve it. Thank you - Anonymous
September 05, 2014
Here is the solution. Visit this blog & download the utilitylearn-sharepoint-2013.blogspot.in/.../find-missing-web-part.htmlGaurav Goyal - Anonymous
December 25, 2014
Hi Allen,Good and informative blogYou mention that this bug is to be fixed by MS in the subsequent CUs. Can you let me know if this is done, as I still see these errors n SP1 Feb 2011 CU. - Anonymous
March 24, 2015
Still occurs in SP2013 March 2015 CU...