Domanda

Mi piacerebbe essere in grado di eseguire un su richiesta di backup del database SQL Express 2008 del .Net MVC app, ad esempio, un bastone lampo collegato alla macchina che esegue l'applicazione.

Ho cercato

QuickstemDataContext db = new QuickstemDataContext();
 string quickstem_path = Path.Combine(save_path, "quickstem.backup");
 db.ExecuteCommand(string.Format("BACKUP DATABASE {1} TO DISK = '{0}' WITH COMPRESSION;", quickstem_path, db.Mapping.DatabaseName));

Ma ottenere l'eccezione

Database 'quickstem' non esiste. Assicurarsi che il nome sia stato inserito correttamente. DATABASE BACKUP è terminato in modo anomalo

Sto usando la seguente stringa di connessione.

connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\quickstem.mdf;Integrated Security=True;User Instance=True"

Devo fissare il DB usando qualcosa come espresso Management Studio e dargli un nome ecc Idealmente voglio mantenere il deploy applicazione molto semplice senza dover configurare SQL Management Studio, ecc Può questo allegando essere fatto in un altro modo o può un backup essere fatto con le necessità di collegare

Ho provato a dargli il percorso completo del file con estensione mdf anziché il nome del database, ma ha ottenuto un errore di sintassi in c:

È stato utile?

Soluzione

Troverete che se si aggiunge Database=Quickstem per la stringa di connessione, il codice di backup funzionano bene.

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\quickstem.mdf;Integrated Security=True;User Instance=True;Database=Quickstem
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top