Copia de seguridad de SQL Express
-
30-09-2019 - |
Pregunta
Me gustaría ser capaz de ejecutar una copia de seguridad en la demanda de base de datos SQL Express 2008 de un .Net MVC aplicación a, por ejemplo un palo de flash conectado a la máquina que ejecuta la aplicación.
He intentado
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));
Pero conseguir la excepción
no existeBase de datos 'quickstem'. Asegúrese de que el nombre se ha introducido correctamente. BACKUP DATABASE termina de forma anormal
Estoy usando la siguiente cadena de conexión.
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\quickstem.mdf;Integrated Security=True;User Instance=True"
¿Es necesario adjuntar la base de datos usando algo como expreso Management Studio y darle un nombre, etc. Lo ideal es que quiero mantener el despliegue aplicación muy sencilla, sin tener que configurar SQL Management Studio etc. Puede esta fijación se realiza un modo u otro puede hacerse una copia de seguridad sin necesidad de siquiera adjuntar
Me trató de dar la ruta completa del archivo .mdf en lugar del nombre de base de datos, pero tiene un error de sintaxis en c:
Solución
Usted encontrará que si se agrega Database=Quickstem
a la cadena de conexión, el código de seguridad funcionará bien.
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\quickstem.mdf;Integrated Security=True;User Instance=True;Database=Quickstem