Problemi backup

di il
13 risposte

Problemi backup

Salve, ho fatto il salvataggio del database, ma non capisco perché quando eseguo il backup mi dice che il database non esiste.
Qualcuno può aiutarmi?

SqlConnection con = new SqlConnection();
            SqlCommand sqlcmd = new SqlCommand();

            con.ConnectionString = @" Percorso";

            string backups = @"Percorso";
            if (!System.IO.Directory.Exists(backups))
            {
                System.IO.Directory.CreateDirectory(backups);
            }

            con.Open();

            sqlcmd = new SqlCommand("backup database Database1 to disk='" + backups + "\\" + DateTime.Now.ToString("ddMMyyyy_HHmmss") + ".Bak'", con);

            sqlcmd.ExecuteNonQuery();
            con.Close();

            MessageBox.Show("Data Backup Done", "Backup");

13 Risposte

  • Re: Problemi backup

    Fatti stampare il comando che esegui da codice;
    copialo esattamente ed eseguilo in SSMS con la stessa utenza del programma
  • Re: Problemi backup

    sspintux ha scritto:


    Fatti stampare il comando che esegui da codice;
    copialo esattamente ed eseguilo in SSMS con la stessa utenza del programma
    Lo eseguo in locale il database, non è un database server
  • Re: Problemi backup

    Ti ci puoi connettere ugualmente con SSMS
  • Re: Problemi backup

    Hai provato ad aggiungere la lettera del disco a "backups" ?
  • Re: Problemi backup

    Per la connection string potresti dare uno sguardo qua https://www.connectionstrings.com/sql-server
  • Re: Problemi backup

    gian82 ha scritto:


    Hai provato ad aggiungere la lettera del disco a "backups" ?
    Si, gli do il percorso
  • Re: Problemi backup

    Non credo che quello che assegni a con.ConnectionString sia una connection string valida,prova a vedere al link che ho postato quale dovrebbe essere la tua connection string , metterei il tuo codice dentro un try catch per intercettare l'errore che credo avvenga alla open non essendo valida la connectionstring
  • Re: Problemi backup

    gian82 ha scritto:


    Non credo che quello che assegni a con.ConnectionString sia una connection string valida,prova a vedere al link che ho postato quale dovrebbe essere la tua connection string , metterei il tuo codice dentro un try catch per intercettare l'errore che credo avvenga alla open non essendo valida la connectionstring
    Ho provato, ma mi da sempre lo stesso errore
  • Re: Problemi backup

    ...
  • Re: Problemi backup

    Gaetano, probabilmente il nome del tuo database è: Database1.mdf e quindi l'istruzione giusta sarebbe:

    backup database Database1.mdf to disk=....

    ...oppure devi inserire il percorso completo (al posto di Database1), perchè quando esegui l'istruzione sql, non è detto che Database1 sia nella stessa cartella, o che il nome salvato nelle tabelle del database Master sia proprio quello. Visto che il problema è che sql non riesce a trovare il tuo database, se vuoi, ti posto due righe che leggono tutti i database in sys.databases, così vedi il nome esatto.

    Tentar non nuoce

    P.S. Non c'è bisogno che verifichi l'esistenza della directory di backup: se non c'è, viene creata; altrimenti non succede nulla, quindi togli tranquillamente l'if che non serve
  • Re: Problemi backup

    fabiocaruso ha scritto:


    ...
    P.S. Non c'è bisogno che verifichi l'esistenza della directory di backup: se non c'è, viene creata; altrimenti non succede nulla, quindi togli tranquillamente l'if che non serve
    Non mi risulta vero quanto dici
  • Re: Problemi backup

    Fidati, è così. Prova ad eseguire più volte l'istruzione:

    System.IO.Directory.CreateDirectory(@"c:\prova");

    Se la directory esiste già, non viene generata nessuna eccezione, perchè il controllo viene eseguito all'interno del metodo, quindi è inutile ripeterlo.
  • Re: Problemi backup

    fabiocaruso ha scritto:


    ...
    System.IO.Directory.CreateDirectory(@"c:\prova");
    ...
    Ahhh, ecco il malinteso.
    Pensavo ti riferissi al backup che la creava autonomamente.
Devi accedere o registrarti per scrivere nel forum
13 risposte