My Short and to the (Share)Point thoughts

Exception from HRESULT: 0x80041054

Issue

Following a fairly innocent reboot of all my SharePoint farm servers, all SharePoint site content was not displayed and I go the following error message.  image

Interestingly though, all the content under /_layouts/ was displayed with no issues.  This made me think there must have been an issue with the content databases rather than the SharePoint servers themselves.

 Reason

After much investigation (crawling through logs and internet searches), I determined (with the help of Matt Groves) that the SharePoint aware anti-virus (Symantec 5.1 for SharePoint) had stopped and left the VirusStatus code for the master page and several page layouts in anti-virus limbo. 

When a virus is detected or when the service that connects SharePoint to the antivirus scan engine becomes unavailable, the antivirus scanner sets the VirusStatus code to a non-zero and non-null value.  This makes SharePoint believe the files have a virus and won’t display it (pretty disastrous when its the master page!). 

The scan engine became unavailable because the temporary licence for the Symantec 5.1 for SharePoint had expired. I believe the reboot stopped the scan engines from running, the license may have expired days or weeks ago.

You may also have an issue if you remove your SharePoint aware anti-virus.

Solution

  1. Run the following SQL Query against your content database(s) to determine if they have have files stuck in AV limbo

SELECT * FROM Docs

WHERE (VirusStatus > 0) AND (VirusStatus IS NOT NULL)

(see http://support.microsoft.com/kb/928169 for more detail)

This will return all files which SharePoint believes are viruses.

  • Enable your SharePoint aware anti-virus (I did this by applying a new license code to all the SharePoint servers).  If you’ve uninstalled it, reinstall your AV, fix the content and follow products recommended removal process.
  • Run a manual AV scan on SharePoint using your SharePoint aware AV.
  • Run the SQL Query again to make sure no virus items are returned.  if they are, run your manual scan again and try and determine if you have a  virus.

3 comments:

Paul Grimley said...

Hi Tom

You're Microsoft link is broken do you have an updated link?

Thanks
Paul

Thomas Pool said...
This comment has been removed by the author.
Thomas Pool said...

SELECT Id,VirusStatus FROM XXX.dbo.Docs ORDER BY VirusStatus DESC
where XXX is the database in which your docs are stored. Generally a content database of some sort.

Post a Comment