0

I'm about to post my answer to this, as well, but I couldn't find this when googling last night so figured it's worth listing here for anyone else pulling their hair out at 9pm.

I created a new Umbraco instance of a site that already exists elsewhere (I needed to make a snapshot for security testing whilst bugfixing continues). To do so, I did the following:

  1. Stopped the destination webserver.
  2. Copied over the entire webroot, including the umbraco folder, an empty App_Data and all the assets, macros, templates and so on. (To do this, I actually made a zipfile of the webroot and reinflated it onto the destination webserver, but a more standard xcopy deployment would have the same effect.)
  3. Backed up the database (two of them, in my case, but only one is Umbraco's) and restored it to a new database on the destination dataserver
  4. Restarted the destination webserver.

Normally, my next step would be to tell Umbraco to republish the site, to clear any caches but, on trying to visit http://mydomain.com/umbraco/, I get a yellow screen of death error reading:

Database persistence could not be found, please ensure you have a valid connection string and a Umbraco.Courier.Persistence.* dll in your /bin

and a stack trace of

Umbraco.Courier.Core.PersistenceManager.GetPersistenceProvider(Guid id) +294
Umbraco.Courier.ItemProviders.DocumentTypeItemProvider.HandlePack(ItemIdentifier id) in c:\Program Files (x86)\teamcity\buildAgent\work\872c402d3442319c\Core\Umbraco.Courier.Providers\ItemProviders\DocumentTypeItemProvider.cs:140
Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id) +88
Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\872c402d3442319c\Contrib\Providers\Umbraco.Courier.RepositoryProviders\Local\Local.cs:227
Umbraco.Courier.Cachehandler.V4.CacheHandler._sendToCache(ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\872c402d3442319c\Contrib\Providers\Umbraco.Courier.CacheHandler.V4\Cachehandlers\CacheHandler.cs:211
Umbraco.Courier.Cachehandler.V4.CacheHandler.DocumentType_AfterSave(DocumentType sender, SaveEventArgs e) in c:\Program Files (x86)\teamcity\buildAgent\work\872c402d3442319c\Contrib\Providers\Umbraco.Courier.CacheHandler.V4\Cachehandlers\CacheHandler.cs:133
Vega.USiteBuilder.DocumentTypeManager.SynchronizeDocumentType(Type typeDocType, Type baseTypeDocType) +574
Vega.USiteBuilder.DocumentTypeManager.SynchronizeDocumentTypes(Type baseTypeDocType) +146
Vega.USiteBuilder.DocumentTypeManager.Synchronize() +56
Vega.USiteBuilder.UmbracoManager.Synchronize() +120
Vega.USiteBuilder.UmbracoManager.SynchronizeIfNotSynchronized() +85
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270

Now I know that the Umbraco.Courier.Persistence.* DLLs are all present — not least because I just copied them from a working environment.

So what gives?

Owen Blacker
  • 4,117
  • 2
  • 33
  • 70

2 Answers2

0

Having wasted a bunch of time on this a couple of times in the last week, it occurred to me to make an actual note of how to fix it when it next happened.

All it takes is recycling relevant the application pool. If you're not sure how to do that, then take a look at one of the following links:

I hope this saves someone else from the frustration I was feeling well after office hours the other night.

Community
  • 1
  • 1
Owen Blacker
  • 4,117
  • 2
  • 33
  • 70
  • Hi Owen, we did the same basic backup/restore process, but recycling the application pool didn't help. Do you have any other suggestions? – SomethingOn Nov 13 '12 at 14:45
  • Oh, that sucks. I'm afraid I don't know; I presume you do actually have that DLL present in your `~/bin/` folder? Recycling the app-pool certainly worked for me each time I needed to. I know the built-in type-finder is pretty sucky; I believe that's being improved in a newer version (poss 4.10, already released). But I guess that's not so helpful. Sorry... – Owen Blacker Nov 16 '12 at 14:33
  • Thank you for posting your answer. It helped me (Umbraco 6.0.7) – Mounhim Jul 17 '13 at 19:12
0

I have to concur that that solution doesn't always work; we're having the same "database persistence" error trying to deploy Courier (build 26) with the latest Umbraco 4.11.1 build, and clicking "Deploy" from the umbraco Courier dashboard brings the same error. Recycling the application pool for this site didn't help.

Posted as a help ticket to umbraco.org also, if I get resolution will post here.