Missing Server Side Dependencies SharePoint 2016 Health Analyzer

In this post, we will explain how to fix Missing server side dependencies that may be raising by SharePoint Health Analyzer in SharePoint 2016 and SharePoint 2013.

You might also like to read SharePoint 2016 Product / Patch installation or server upgrade required


SharePoint 2016 Missing Server Side Dependencies

After performing a database attach migration from SharePoint 2016 farm to another that has been completed successfully. but when I checked the health analyzer within central administration I got the following error:

SharePoint 2016 Missing Server Side Dependencies

Why SharePoint raises Missing Server Side Dependencies in Health Analyzer?

This issue “Missing Server Side Dependencies” occurs because the migrated SharePoint content database contains some references that are not installed in the current farm.

Type of Server Side Dependencies

  1. Custom feature files [MissingFeature].
  2. Custom setup files [MissingSetupFile].
  3. Custom web part files [MissingWebPart].

Fixing Missing Feature Server Side Dependencies

In some case, you may get “Missing Server Side Dependencies” error because there are some features still had refrences in the migrated content database but these references are not activated or installed in the current farm.

Fixing Missing Feature Server Side Dependencies

To solve this kind of errors, you can easily use SharePoint Feature Administration and Clean Up Tool to remove all features reference that was not installed in the current farm by following the mentioned steps below:

Steps
feature cleean up tool home page
  • The following message box informs that the feature with the same id has been found and should be removed from the farm.
remove missing feature
  • Click Yes, till remove all faulty featuresin the farm.
  • In case of removing all faulty features in the farm, you should get this message
no faulty was found in the farm
  • Go back to health analyzer > click on Missing server side dependencies > from the ribbon click on Reanalyze now.
reanalyze now halth analyzer
  • Wait for moment then refresh the page, the [MissingFeature] error should be now disappeared.

Fixing Missing Setup File Server Side Dependencies

In some other cases, you may Missing some Setup File like SharePoint solutions that are not installed on the current farm.

MissingSetupFile health analyzer error

In this case, you have to install the missing setup files on the current farm or remove its references from the database.

Steps
  • Open SQL Server Management Studio.
  • By using the content database run this query.
USE [your content database]
SELECT id,SiteId,WebId FROM AllDocs
WHERE SetupPath LIKE '%solution name%'
  • In my case, the query looks as the following.
USE [WSS_Content_PWA]
SELECT id,SiteId,WebId FROM AllDocs
WHERE SetupPath LIKE '%ProjectCard%'
MissingSetupFile query 1
  • Run SharePoint Management shell as administrator.
Run SharePoint Management Shell as Administrator
  • Use (ID, SiteID,WebID) from previous query to run the following cmdlet one by one.
$site = Get-SPSite -Limit all | where { $_.Id -eq "Your Site ID" }
$web = $site | Get-SPWeb -Limit all | where { $_.Id -eq "Your Web ID" }
$file = $web.GetFile([Guid]"Your File ID")
$file.Delete()
  • In my case, the cmdlet looks as the following.
MissingSetupFile delete powershell 1
  • Repeat the previous steps for all missing setup files that mentioned in the explanation section in health analyzer error.
MissingSetupFile delete powershell 2
  • Again Go back to health analyzer > click on Missing server side dependencies > from the ribbon click on Reanalyze now.
  • The [MissingSetupFile] error should be now disappeared.

Missing WebPart Server Side Dependencies

Again, you may missing some web part assembly references that already referenced in the current database but not installed in the current farm.

Missing WebPart Server Side Dependencies

In this case to solve “Missing Server Side Dependencies“, you should do the following:

Steps
  • Open SQL Server Management Studio.
  • By using the content database run this query.
SELECT AllWebParts.tp_WebPartTypeID,AllDocs.DirName,
AllDocs.LeafName from AllDocs inner join AllWebParts
on AllDocs.Id = AllWebParts.tp_PageUrlID
where AllWebParts.tp_WebPartTypeID = 'web part id in explanation section'
  • In my case, the query looks as the following:
SELECT AllWebParts.tp_WebPartTypeID,AllDocs.DirName,
AllDocs.LeafName from AllDocs inner join AllWebParts
on AllDocs.Id = AllWebParts.tp_PageUrlID
where AllWebParts.tp_WebPartTypeID = '23cd87b1-f818-3f08-ae28-528d4782e335'
Missing web part health analyzer error sql query 2
  • Open the browser and type.
http://your application name/DirName/LeafName?contents=1
  • It should be look like as
http://webapplication/pages/default.aspx?contents=1
  • The previous URL will open the web part maintenance page to allow removing the missing web part that hasn’t been installed.
Web part page maintenance
  • You should find the web part name that mentioned in the explanation section in health analyzer error.
  • Select it > click on delete.
  • Check out the page then Check back in to avoid the duplicate entry in the database.

Note: you can run Test-SPContentDatabase cmdlet to show the missing web parts, In case of missing web parts was not found, then it means there is a mismatch in packages between the source and destination farm and this require to deploy the solution that contains the web part to the destination farm.


Applies To
  • SharePoint 2016.
  • SharePoint 2013
See Also

5 thoughts on “Missing Server Side Dependencies SharePoint 2016 Health Analyzer”

  1. Pingback: SharePoint Health Analyzer detected an error | SPGeeks

  2. Jessica Michelle Graham

    Can you please help me. I dont want to delete the webpart its actually needed, I want to install it on the new farm. Can I export it and install on the new farm?

  3. For [MissingWebPart] error: You can also try deleting all the versions for the page, then deleting them from the Second-Stage Recycle Bin. Re-run the SQL statements all it should be clean now

Leave a Reply