我有一个小的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)”BACKUP DATABASE正在异常终止。
如何解决此问题,最好不必在每台计算机上安装Sql Management Studio并附加数据库?建议的备份方式是什么?为什么它在Debug中工作,而不是Release。
非常感谢
答案 0 :(得分:1)
我的不好......事实证明,VS已将DataContext连接字符串更改为DTZConnectionString1并创建了另一个设置文件。现在我正在使用正确的连接字符串,它正常工作。
不知道为什么不正确的一个在调试中工作但没有发布。