在visual studio中备份数据库c#

时间:2013-04-07 20:46:46

标签: c# sql sql-server visual-studio-2010

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

我正在尝试创建一个click事件来将数据库备份到指定位置,但是当我运行它时,它显示错误,该名称的数据库不存在。

我正在使用的代码是

 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'不存在。请确保正确输入名称。 BACKUP DATABASE正在异常终止。“

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

请帮忙

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

听起来像是在查看错误的服务器。也许您可以在“SELECT @@ SERVERNAME”中交换备份语句并查看结果,只是为了验证它是否针对您期望的服务器运行。

答案 2 :(得分: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'Full Database Backup',SKIP,NOREWIND,NOUNLOAD, STATS = 10“,connect);