Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Paul Griffiths 355 posts 995 karma points
    Jan 02, 2018 @ 19:40
    Paul Griffiths
    0

    The Xml cache is corrupt. Use the Health Check data integrity dashboard to fix it.

    Hi,

    My laptop's hard drive become corrupt and as a result i lost my umbraco db instance. Luckily my code is in a remote repository so everything is not lost or is it?

    When i re-cloned my solution files from my repo, set up IIS and created a new db, upon rebuilding the site (with no build errors) i am faced with the following

    enter image description here

    I reset my web.config to the following in the hope it would re-trigger the umbraco install?

    <connectionStrings>
        <remove name="umbracoDbDSN" />
        <add name="umbracoDbDSN" connectionString="" providerName="" />
    </connectionStrings>
    

    If i do /umbraco it takes me to the login screen. Obviously the credentials dont wok because a db doesn't exist, im also unable to perform the Health Check data integrity dashboard to fix it.

    Any ideas please? is this a case of creating a new solution and porting everything across ?

    Thanks

  • Paul Sterling 716 posts 1511 karma points MVP 5x admin c-trib
    Jan 02, 2018 @ 19:55
    Paul Sterling
    0

    Hi Paul -

    I think you'll want to set the connection string to point to your newly created, but empty, database and then restart the site. Umbraco should check to make sure the DB schema is correct and start the installer/upgrader if not - which it won't be in this case.

    Also, in case it's not already clear to you - the DB is what contains some Umbraco definitions for things like users, doc types, and other Umbraco-specific stuff. So that will all be lost if the original DB is gone. Seems like you maybe understood that already.

    If that doesn't do it, you might consider setting up a fresh Umbraco install (from the zip or nuget package) then laying your code down on top of that - of course you'll still not have the structures from the DB, but the site will be setup correctly at least.

    -Paul

  • Paul Griffiths 355 posts 995 karma points
    Jan 02, 2018 @ 20:20
    Paul Griffiths
    0

    Hi Paul,

    Thanks for the response :).

    Unfortunately for me i am fully aware that i have lost all the umbraco meat and bones to the site :(. I have just about accepted that that i will have to recreate all my doctypes, data types etc. from scratch :(

    When i specify the full connection string to my new empty database i do see the umbraco install splash screen, however it just hangs.

    In the past i have noticed that it hands when you have specified values fo the connectionSting which i why i left them blank. I am able to replicate this with a new install to. Do you know why it could be hanging when i specify a connectionstring?

    What i don't quite understand is with no connectionstring it still acts as if its referencing a db? How is that possible?

    Thanks again for your advice :)

    enter image description here

  • Paul Sterling 716 posts 1511 karma points MVP 5x admin c-trib
    Jan 02, 2018 @ 20:26
    Paul Sterling
    0

    Hi Paul -

    Have you looked into the log yet? That'd be my first step here. But, assuming you have done that and there's nothing useful there I'd check up on the permissions for the IIS AppPool - and I gather you are using full-IIS rather than IIS Express only by your message. If that's not the case, and you are using IIS Express, then check the folder/file permissions for the location you are using.

    -Paul

  • Paul Griffiths 355 posts 995 karma points
    Jan 02, 2018 @ 20:56
    Paul Griffiths
    0

    Hi Paul,

    Yes thats right i am using a full version of IIS and not express. I have just checked the logs and i see this

         2018-01-02 20:53:20,391 [P13964/D2/T10] ERROR Umbraco.Core.Persistence.UmbracoDatabase - Exception (979d7c9b).
        System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'umbracoUser'.
           at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
           at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
           at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
           at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
           at System.Data.SqlClient.SqlDataReader.get_MetaData()
           at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
           at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
           at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
           at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
           at System.Data.SqlClient.SqlCommand.ExecuteScalar()
           at Umbraco.Core.Persistence.PetaPocoCommandExtensions.<>c__DisplayClass11_0.<ExecuteScalarWithRetry>b__0()
           at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func)
           at Umbraco.Core.Persistence.Database.ExecuteScalar[T](String sql, Object[] args)
        ClientConnectionId:9ee2f42d-4ddf-41ba-8e20-c8dd98ca9e50
        Error Number:208,State:1,Class:16
    System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'umbracoMigration'.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
       at System.Data.SqlClient.SqlDataReader.get_MetaData()
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
       at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) in c:\Code\github\SamSaffron\MiniProfiler\StackExchange.Profiling\Data\ProfiledDbCommand.cs:line 248
       at Umbraco.Core.Persistence.PetaPocoCommandExtensions.<>c__DisplayClass5_0.<ExecuteReaderWithRetry>b__0()
       at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func)
       at Umbraco.Core.Persistence.Database.<Query>d__74`1.MoveNext()
    ClientConnectionId:9ee2f42d-4ddf-41ba-8e20-c8dd98ca9e50
    Error Number:208,State:1,Class:16
     2018-01-02 20:53:16,973 [P13964/D2/T1] ERROR Umbraco.Core.ApplicationContext - Error determining if application is configured, returning false
    ERROR Umbraco.Web.Install.InstallHelper - An error occurred in InstallStatus trying to check upgrades
    

    Any idea? I have not investigated just yet but thought i would respond. Its as if it thinks im upgrading. FYI IUSR and IIS_IUSRS have full permissions to all directories.

    Thanks again for the response

  • Paul Sterling 716 posts 1511 karma points MVP 5x admin c-trib
    Jan 02, 2018 @ 21:45
    Paul Sterling
    100

    Hi Paul -

    If you haven't already you can try removing the value from umbracoConfigurationStatus

    <add key="umbracoConfigurationStatus" value="" />
    

    It does look like the upgrader is starting and making some assumptions that the DB schema is already there. I believe clearing the version value will cause the installer to run.

    Also, can you confirm the DB really is empty - i.e., no schema?

    -Paul

  • Paul Griffiths 355 posts 995 karma points
    Jan 02, 2018 @ 21:50
    Paul Griffiths
    1

    Hi Paul,

    I figured this just as you posted and you wee spot on :). I needed to do the following:

    <add name="umbracoDbDSN" connectionString="" providerName="" />
    

    and what you suggested

    <add key="umbracoConfigurationStatus" value="" />
    

    I stumbled on the solution here from @Sebastiaan Janssen

    https://stackoverflow.com/questions/40852305/umbraco-7-5-4-installation-error-invalid-objectname-cmscontent

    P.s for anyone reading this my db was completely empty

    Thanks for all your help :)

Please Sign in or register to post replies

Write your reply to:

Draft