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
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:
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
- Custom feature files [MissingFeature].
- Custom setup files [MissingSetupFile].
- 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.
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
- Download SharePoint Feature Administration and Clean Up Tool.
- Open this tool and reload the web apps > Click on Find Faulty Feature in farm.
- The following message box informs that the feature with the same id has been found and should be removed from the farm.
- Click Yes, till remove all faulty featuresin the farm.
- In case of removing all faulty features in the farm, you should get this message
- Go back to health analyzer > click on Missing server side dependencies > from the ribbon click on Reanalyze now.
- 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.
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%'
- 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.
- Repeat the previous steps for all missing setup files that mentioned in the explanation section in health analyzer error.
- 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.
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'
- 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.
- 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
Pingback: SharePoint Health Analyzer detected an error | SPGeeks
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?
Please, elaborate more! I don’t got your point! do you have the solution of this webpart? or it’s a missing webpart!
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
Thank you so much.. This fixed my issue 🙂