Geeks With Blogs
Bidyut Das

We came across a bug in SharePoint 2007 backup/ restore or may SharePoint as a whole. I have been working in a project where we have site migrations and lot of other SharePoint stuffs to migrate and change to fit into the new system. What we do is, take backup, restore and do some stuff after restoration. We were getting an error while restoring a site in a particular list -

Exception -

Error: Exception from HRESULT: 0x80040E2F
   at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)
   at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents)
   at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents)
   at Microsoft.SharePoint.SPListItem.MigrationAddOrUpdate(Boolean bAddNew, Boolean bIsPublish, Guid newGuidOnAdd, Boolean bNoVersion, Boolean suppressAfterEvents)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)

The site got created successfully, other lists got created successfully with all list items, but we were getting this error in a particular list. Thelist got created successfully, but without any items. We had no idea what was going on. We saw the content types, site columns, list definitions, site definition etc etc. and every possible places but without any success.

We had everything perfect. We googled a lot with the HRESULT error (0x80040E2F) and we noticed that there is some problem with the SharePoint content database. Somehow, the database is corrupted and it produces a backup which has corrupted data for that list. We tried with Gary Lapointe stsadm extension, PRIME API, stsadm tool etc, but every time we got the same error.

We started looking into the issue again and again and started looking into manifest.xml where we checked the list items, content type and LIST DEFINITION. We saw that two of the columns in the list are pointing to a column with name “ntext12” (in ColName attribute) and this was the issue. SharePoint was trying to insert the values of two column into one column ín the content DB and this is where it was failing.

Solution – We renamed one of them as a new one which does not exist in the list definition and it worked!!!!!! So if you find the similar problem, check the column name in the list definition in the Manifest.xml. Probably this will solve your problem.

Posted on Saturday, October 2, 2010 5:56 PM | Back to top

Comments on this post: SharePoint 2007 Backup Restore – Troubleshooting HRESULT: 0x80040E2F

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © BidyutD | Powered by: