Резервное копирование БД выполняется в Debug, но не в Release - PullRequest
0 голосов
/ 20 мая 2011

У меня есть небольшое приложение c # wpf для выполнения простых вычислений на базе Sql Express 2008 R2 db, а в разделе настройки есть кнопка резервного копирования, которая выполняет код

                using (DTZDataContext db = new DTZDataContext())
                {
                    db.ExecuteCommand(string.Format("BACKUP DATABASE DtzDb TO DISK = '{0}'", filename));
                }

Строка подключения Iя использую это

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\App_Data\DTZ.mdf;Integrated Security=True;User Instance=True;Database=DtzDb

Я подтвердил, что на данный момент в приложении нет других открытых соединений БД, и резервное копирование работает нормально при отладке, но как только я скомпилирую для выпуска (работает от VS или как автономный)Я получаю сообщение об ошибке:

Ошибка операционной системы 32 «32 (не удалось получить текст для этой ошибки Причина 15105)» BACKUP DATABASE ненормально завершается.

Как это исправить, желательно безустановить Sql Management Studio на каждую машину и подключить БД?Каков рекомендуемый способ делать резервные копии?Почему это работает в Debug, но не в Release.

Большое спасибо

1 Ответ

1 голос
/ 20 мая 2011

Плохо ... Оказывается, VS изменил строку подключения DataContext на DTZConnectionString1 и создал другой файл настроек. Теперь я использую правильную строку подключения, она работает нормально.

Не знаю, почему неправильный работает в отладке, но не в выпуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...