У меня есть небольшое приложение c # wpf для выполнения простых вычислений с использованием базы данных Sql Express 2008 R2, а в разделе настройки есть кнопка резервного копирования, которая запускает код
using (DTZDataContext db = new DTZDataContext())
{
db.ExecuteCommand(string.Format("BACKUP DATABASE DtzDb TO DISK = '{0}'", filename));
}
Строка подключения, которую я использую,
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\App_Data\DTZ.mdf;Integrated Security=True;User Instance=True;Database=DtzDb
Я подтвердил, что на данный момент в приложении нет других открытых подключений к БД, и резервное копирование работает нормально в отладке, но как только я скомпилирую для выпуска (запускаемого из VS или автономно), я получаю сообщение об ошибке:
Ошибка операционной системы 32 «32 (не удалось получить текст для этой ошибки, причина 15105)». РЕЗЕРВНАЯ БАЗА ДАННЫХ аварийно завершает работу.
Как я могу это исправить, желательно без установки Sql Management Studio на каждую машину и подключения БД? Каков рекомендуемый способ резервного копирования? Почему это работает в Debug, но не в Release.
Огромное спасибо