Missing server side dependencies errors on your multi server SharePoint farm


Consider following scenario:

You just installed a SharePoint 2010 / 2013 / 2016 multi server environment. All from scratch. A shiny new farm.
On this multi server farm you created certain types of machines (WFE servers, APP servers, and so on) that run role specific services. Everything is good so far, you are happy with the installation work you have done.

Until the moment you notice, that the farms Health Analyzer is complaining about missing server side dependencies.
You find a notification, that comes up with something like this:


Missing server side dependencies.

Severity: 1 - Error
Category: Configuration

Explanation: [MissingWebPart] WebPart class [baf5274e-a800-8dc3-96d0-0003d9405663] is referenced [25] times in the database [NAME-OF-CENTRAL-ADMIN-CONTENT-DB], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [NAME-OF-CENTRAL-ADMIN-CONTENT-DB], but are not installed on the current farm. Please install any feature or solution which contains these web parts.


Looks messy. "How could this happen?", you might ask. "I followed all best practices, used AutoSPInstaller. There are no third party tools installed on your farm and there was no content migrated from other farms."

But still: You can't find an explanation for this behaviour. Weird.


Why is this happening?

Let me sum it up: This is a behavior, that can be found in multi server setups, that contain different types of server roles.

All servers in a SharePoint farm run the SharePoint Timer Service. This service makes all farm servers (no matter which role they have) randomly pick timer jobs out of a pool of jobs that are due to be executed. Health Analyzer jobs are triggered by those kind of timer jobs.

Unfortunately, the Health Analyzer rule responsible for checking missing server side dependencies is only checking resources on the particular machine the timer job is executed on. And this somehow is by design. If one of your APP servers is in charge of running the timer job, the result is going to be: local IIS ressources, that are expected on the machine, are missing. The Health Analyzer rule found those references within the content databases and tries to find them on the machine. Unsuccesfully.
If the same Health Analyzer rule is executed by your WFE server, you’ll get a totally different result.

If all your servers run the same services or if you have a single SharePoint server farm, you are not affected by this behaviour.


Check following images (click to enlarge) that explain this behaviour

Carefully compare the Health Analyzer rule check result for each type of server role.

  • Health check result on web front end server:

    How the ContentDatabaseCorruption Health Analyzer works on a SharePoint WFE server


  • Health check result on server running the Central Administration:

    How the ContentDatabaseCorruption Health Analyzer works on a SharePoint CA server


  • Health check result on application server:

    How the ContentDatabaseCorruption Health Analyzer works on a SharePoint APP server



Possible workarounds

Carefully review, understand and discuss following possible workarounds:

  1. Provision Central Administration and all content Web Applications on all farm servers
  2. Duplicate virtual directories of Central Administration and all content Web Applications onto servers, that do not run Central Admin or content Web Applications
  3. Ignore the Health Analyzer error
  4. Disable the “Missing Server Side Dependencies” rule definition


References / Further Information

There are some really good blog articles, refering to this issue that has been around for years now. My US colleagues Craig Campbell and Allen Wang get into detail in earlier MSDN Blog articles:


Comments (3)

  1. Poova says:

    Good Day Mr. Heim,

    Excellent article, I have a vanilla SP2016 farm and experiencing the error above. Possible work around 3 and 4 I am double minded about. thank you.

    1. Hi Poova,
      if you disable the “Missing Server Side Dependencies” rule Definition on productive environments, you might want to think about Test-SPContentDatabase checks on a regular base, in order to ensure that no server side stuff is missing that is related to your SharePoint content.

      Grüße from Germany,
      Christian

Skip to main content