2010-09-03 2 views
1

Я хотел бы иметь возможность запускать резервную копию базы данных SQL Express 2008 приложения .Net MVC, например, флеш-карту, подключенную к машине, на которой запущено приложение.Backup Sql Express

Я попытался

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)); 

Но получить за исключением

Database 'quickstem' не существует. Убедитесь, что имя введено правильно. BACKUP DATABASE завершается аномально

Я использую следующую строку подключения.

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

Нужно ли мне прикрепить DB, используя что-то вроде экспресс Management Studio и дать ему имя и т.д. В идеале я хочу сохранить приложение развертывания очень просто, без необходимости настройки управления SQL Studio и т.д. Может быть это прикрепление сделал еще один способ или может сделать резервное копирование быть сделано с из необходимости приложить

Я пытался дать ему полный путь к файлу .mdf вместо имени базы данных, но получил ошибку синтаксиса на C:

+0

Что этот вопрос имеет отношение к C# или ASP.NET-MVC? –

+0

Помимо того факта, что SQL Express является базой данных, поставляемой с ASP.NET, и код, который он написал, находится на C# - абсолютно ничего :) – Jimbo

+0

Я пытался избежать ответа «Установить это приложение», то есть хотел, чтобы люди знаю, что я хотел, чтобы приложение mvc выполняло резервное копирование по запросу, а не что-то еще. Поскольку название теперь выглядит, как и другие вопросы Backup Sql Express на сайте –

ответ

1

Вы будете что если вы добавите Database=Quickstem в строку подключения, ваш резервный код будет работать нормально.

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