Caught Exception trying to generate a Catalog for 1 Database out of 15.

I am using DPM 2012 R2 version 4.2.1292 with SharePoint 2013 SP1. DPM can successfully create recovery points for all content databases however the subsequent catalog backup will fail on only one of the content databases but will successfully catalog all others. This means I cannot do item-level restore for this one database.

From the DPM log on the SharePoint 2012 WFE server the exception caught only states the following:

  Unable to find the specified file.
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPFile.EnsureUniqueId()
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING    at Microsoft.SharePoint.SPFile.get_UniqueId()
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING    at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFiles(SPFileCollection spFileCollection)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFolder(SPFolder spFolder, Boolean checkForList)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFolder(SPFolder spFolder, Boolean checkForList)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateSite(SPWeb spWeb)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateSiteCollection(SPSite spSite)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateContentDatabaseFull()
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateContentDatabase()
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
WSSCmdlets.cs(1271) [0000000000B81BC0] WARNING   at WSSCmdlets.WssCatalogGenerator.GenerateCatalogCallback(Object objState)
WSSCmdlets.cs(1272) [0000000000B81BC0] WARNING Inner Exception     =
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING Exception String    =
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING System.IO.FileNotFoundException: Unable to find the specified file.
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPFile.EnsureUniqueId()
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPFile.get_UniqueId()
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFiles(SPFileCollection spFileCollection)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFolder(SPFolder spFolder, Boolean checkForList)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateFolder(SPFolder spFolder, Boolean checkForList)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateSite(SPWeb spWeb)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateSiteCollection(SPSite spSite)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateContentDatabaseFull()
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssContentDatabaseCatalogGenerator.EnumerateContentDatabase()
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
WSSCmdlets.cs(1273) [0000000000B81BC0] WARNING   at WSSCmdlets.WssCatalogGenerator.GenerateCatalogCallback(Object objState)

As the issue is only with one of the content DB's I have checked and double checked all permissions to the SQL DB and all appears fine compared with others. What I am unsure of is exactly what file is it unable to locate? Can anyone please help explain how to troubleshoot this further?

The WFE host was removed and the agent deployed to another WFE host which was added to the protection group. The end result was the same in that it only fails with the catalog backup for this one database.

May 20th, 2015 12:28pm

I am assuming content databases are hosted on separate SQL servers

Can you verify that same agent (version) is running on SharePoint WFE and respective SQL servers?

Free Windows Admin Tool Kit Click here and download it now
May 25th, 2015 4:40am

Hi Samir,

Thanks for your reply. All content databases are on the same SQL instance and I can also confirm that both the SQL host and the WFE are both running agent version 4.2.1292.0. SQL is part of a cluster and both cluster members have the agent deployed at the same version.

The error I am seeing is "unable to find the specified file" on only one of the content databases during the catalog backup. Do you know what file the log is referring to that it cannot locate? The database itself appears fine and all sites within that specific CDB can be accessed via SharePoint and DPM is backing it up. It is only the catalog that fails for this one specific database when it can successfully catalog the other 14 without any issue.

As I said above I have reviewed permissions to the database and they appear to be correct so I cannot determine what if any difference there is between the failing database and one that it can catalog.

Thanks
Lee

May 26th, 2015 4:48am

Lee, thanks for detail response

Can you try the following command on SharePoint front end server. Let us know if that solved the issue -

ConfigureSharePoint.exe -ResolveAllSQLAliases

More detail on this can be found on the TechNet page

Free Windows Admin Tool Kit Click here and download it now
May 26th, 2015 7:16am

Hi Samir,

Thanks for the additional steps. The command was run on the WFE with the -ResolveAllSQLAliases switch. When manually running the catalog backup it continues to fail again with the same error "unable to find the specified file".

I am currently in the process of restoring another copy of the content database to see if there is an issue with the original database however as DPM will back it up I think it will be OK.

The issue occurs during this part of the process:

NORMAL [UniqueId 3] Generating FullCatalog for Content Database [SERVER\DATABASE]

NORMAL <--EnumerateContentDatabaseFull

NORMAL <--EnumerateContentDatabase
WARNING [UniqueId 3] Caught Exception trying to generate a Catalog for Database [SERVER\DATABASE]

During the step "EnumerateContentDatabase" can you please advise what is DPM doing? It is during this phase that it throws the "Unable to find specified file" so what files is it trying to retrieve? The database is there, the account has full permissions to it (that I can see) and SharePoint itself will serve content from it without issue.

For the other 14 content databases the log appears to show the change token is reviewed and then the database is processed.

Kind Regards
Lee

May 26th, 2015 12:14pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics