数据库备份在“调试”中运行,但不在“发布”中运行

本文关键字:运行 发布 备份 数据库 调试 | 更新日期: 2023-09-27 17:57:25

我有一个小型的 c# wpf 应用程序,用于在 Sql Express 2008 R2 db 上运行一些简单的计算,在设置部分是一个运行代码的备份按钮

                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 并附加数据库? 推荐的备份方法是什么? 为什么它在调试中有效,但在发布中不起作用。

非常感谢

数据库备份在“调试”中运行,但不在“发布”中运行

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

不知道为什么不正确的在调试中工作但不能发布。