While upgrading a clients MOSS2007 to SP2010 using the DatabaseAttach-method I encountered several errors when running th Mount-SPContentDatabase PowerShell command.
Let’s begin with some background information. When I install SharePoint I create several accounts, as hopefully most of you as well. Some of those are SP-Install, SP-Farm, SP-PortalAppPool, SP-Services, and serveral others that totals to 12.
SP-Install is the account I use to install SP2010 and apply patches etc. So it seemed only natural to use this account for running the PowerShell command Mount-SPContentDatabase. When doing so, several debug, warning and error messages were logged in the upgrade log, some of them being these:
Found a missing feature 56dd7fe7-a155-4283-b5e6-6147560601ee. But it will be deprecated during upgrade.
Found a missing feature 8156ee99-ddfb-47bb-8835-7ae42d40d9b9. But it will be deprecated during upgrade.
Found a missing feature 90cd055f-f21f-42c5-b3fe-bb67173583d4. But it will be deprecated during upgrade.
File [Features\ExcelServerSite\Microsoft.Office.Excel.WebUI.dwp] is referenced  times in the database [Database name], but is not installed on the current farm. Please install any feature/solution which contains this file.
One or more setup files are referenced in the database [Database name], but are not installed on the current farm. Please install any feature or solution which contains these files.
ERROR – Failed to run V2VFeatureActivation2UpgradeSiteAction.Upgrade for SPWeb (web app url) in SPSite (site url , the following error occured: Attempted to perform an unauthorized operation. at: at Microsoft.SharePoint.SPSecurableObject.CheckPermissions(SPBasePermissions permissionMask)
at Microsoft.SharePoint.SPSecurity.ValidateSecurityOnOperation(SPOperationCode code, SPSecurableObject obj)
Exception: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Inner Exception: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Upgrade session failed. 36 errors and 2 warnings encountered.
As I googled the error messages from the log, I found several different (possible) solutions, however none of them worked. And a few were definately longshots.
Once again my brain was getting overheated and getting close to exploding 🙂
Then I somehow got to think about the old days when I first started out installing SharePoint Servers – you know, back then when my knowledge of SharePoint was limited (I’m sure we all started out like that). At that time I only created one account which was the Farm-account. I usually named the account MossDBAccess, MossFarm or SPFarm. I then remembered that even though I would have different users as Farm Admins, somehow, there was always somewhere in SharePoint where I needed to do something in the context of the Farm-account. With this in mind, I figured I’d give it a try.
The result of running the Mount-SPContentDatabase in the context of the SP-Farm account in the new farm completed without any errors.
Hopefully this prevents someone elses brain overheating.