0

我正在使用 c# 和 Visual Studio 2010 上的内置 SQL Server 开发 Windows 应用程序。

我正在尝试创建一个单击事件以将数据库备份到指定位置,但是当我运行它时,它向我显示错误,即具有此名称的数据库不存在。

我正在使用的代码是

 SqlCommand cmd = new SqlCommand("BACKUP DATABASE GRTU_LIBRARY_MANAGEMENT TO  DISK = N'D:\temp\foo' WITH NOFORMAT, NOINIT,  NAME = N'Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10", connect);
 cmd.ExecuteNonQuery();

它显示错误“数据库'GRTU_LIBRARY_MANAGEMENT'不存在。确保名称输入正确。备份数据库异常终止。”

我在整个应用程序中使用相同的数据库,但这里显示此错误。我在 Visual Studio 2010 中使用内置 SQL 服务器

请帮忙

4

3 回答 3

0

在我看来,它正在寻找错误的服务器。也许您可以将“SELECT @@SERVERNAME”换成备份语句并查看结果,以验证它是否在您期望的服务器上运行。

于 2013-04-07T22:22:31.610 回答
0

好像你错过了关键字DATABASE。添加DATABASE之后BACKUP并检查

SqlCommand cmd = new SqlCommand("BACKUP DATABASE GRTU_LIBRARY_MANAGEMENT TO  DISK = N'D:\temp\foo' WITH NOFORMAT, NOINIT,  NAME = N'Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10", connect);
于 2013-04-07T20:54:44.543 回答
0

它找不到您要备份到的文件。请将 'D:\temp\foo' 的文本更改为 'D:\Temp\foo\Test.bak'。请记住目录 D:\Temp\foo 必须存在。整个文本如下所示:(将 'Test' 更改为您自己的数据库名称) SqlCommand cmd = new SqlCommand(@"BACKUP DATABASE Test TO DISK = N'D:\Temp\foo\Test.bak' WITH NOFORMAT, NOINIT , NAME = N'完整数据库备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10", connect);

于 2013-04-19T06:54:33.873 回答