11 March, 2013

Missing Webparts- One of the crtitical error from HEALTH ANALYZER

Missing server side dependencies- The Umbrella which covers 4 critical issues
Missing features has already been covered under this section:

Remaining ones are missing webparts, missing setup files and missing assemblies.

Let’s concentrate on Missing Webparts section:
[galaxy.SPWP.FSODataParser,
Culture=neutral,
PublicKeyToken=fc9c10bf499fbb4b])
[WSS_Content_SP2010],
in
database
[WSS_Content_SP2010],
farm.
[EasyTabParts,
Culture=neutral,
PublicKeyToken=b15a43dfe3a17723])
[WSS_Content_SP2010],
[MC_Menu,
Culture=neutral,
PublicKeyToken=d088e98baa178219])
[WSS_Content_SP2010],

[Microsoft.Office.Server.Search,
Culture=neutral,
[SharePoint_AdminContent],
[Microsoft.SharePoint.Portal,
Culture=neutral,
[SharePoint_AdminContent],

Some webparts are belongs to SharePoint_AdminContent database. While debugging further on this, we tried to find out the leaf names as well as dir names are a part of which links/URL’s exactly but we didn’t find anything. That’s strange to troubleshoot further.

The GUIDS which are belongs SharePoint_AdminContent Database are as follows:
[baf5274e-a800-8dc3-96d0-0003d9405663]
[9eba9c17-3b89-a2e7-a3cf-0ee3d7c2adb1]
[07f48b68-2e69-c86a-ebe4-16359e03ebc2]
[23091f6c-295d-4493-504c-1714a20d65a2]
[7d319bdd-d90e-7861-b7f0-2f9f4cec3004]
[c744e2b2-158c-c2f8-2f80-54bf046ff644]
[36f2680f-4855-f100-da5b-5dd1d07ae62b]
[b36f9dfe-325a-1b44-e6bb-645dcf79c770]
[0a60f514-1dea-8537-b588-64ee5e224da3]
[9f56656f-6aa3-0d55-a812-711bf65864ea]

Further research on this, we came to a conclusion that this is a known issue regarding this GUIDS belongs to AdminContent DB and we can certainly ignore that. This will gets fixed in the next CU.


Example:

Error Message:
[MissingWebPart] WebPart class [a03a7e7e-aab8-9045-8bf2-54d79ff53595] (class [PowershellWebpart.PowershellWebPart.PowershellWebPart] from assembly [PowershellWebpart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0bf26c041eeaa3b0]) is referenced [1] times in the database [WSS_Content_Sharepoint.SP2010], 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 [WSS_Content_Sharepoint.SP2010], but are not installed on the current farm. Please install any feature or solution which contains these web parts.

As we can see, the error gives you a “WebPart class” GUID, the name of the content database, and how many times it is referenced in the database but no site collection link.

Following SQL query will be used to find out the site ID, LEAF name and Directory name.
"SELECT * from AllDocs inner join AllWebParts on AllDocs.Id = AllWebParts.tp_PageUrlID where AllWebParts.tp_WebPartTypeID = '4575ceaf-0d5e-4174-a3a1-1a623faa919a'" | select Id, SiteId, DirName, LeafName, WebId, ListId, tp_ZoneID, tp_DisplayName | Format-List

SITE ID: we can easily find out the site collection link based on the fetched site ID details
LEAF name: this will be a page on which that faulty webparts exist
DIR name: this will be a document library in which those pages exist.

Output will be like this:
Id       : 657a472f-e51d-428c-ab98-502358d87612
Name     :
SiteId   : 337c5721-5050-46ce-b112-083ac52f7f26

To find the site collection URL using the information output from the query, type the following command:
$site = Get-SPSite -Limit all | where {$_.Id -eq "337c5721-5050-46ce-b112-083ac52f7f26"}
$site.Url

Once we have the site collection URL, we can use the relative path specified by the DirName property to find the location of the file.

To remove the web part from the page, type the page URL in the browser and add?contents=1 to the end of it.

That’s it. You will see the web part maintenance page on which faulty/corrupted webparts are listed.

If you have any questions/queries regarding the above mentioned information then please let me know. Thank you.

1 comment:

Your feedback is always appreciated. I will try to reply to your queries as soon as possible- Amol Ghuge

Note: Only a member of this blog may post a comment.