数据库备份在Debug中运行但不在Release中运行

时间:2011-05-20 09:58:12

标签: c# backup sql-server-2008-r2

我有一个小的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。

非常感谢

1 个答案:

答案 0 :(得分:1)

我的不好......事实证明,VS已将DataContext连接字符串更改为DTZConnectionString1并创建了另一个设置文件。现在我正在使用正确的连接字符串,它正常工作。

不知道为什么不正确的一个在调试中工作但没有发布。