2013-04-07 143 views
0

我使用C#和内置SQL Server上的Visual Studio 2010中备份数据库

我想创建一个click事件数据库备份到指定的位置,但在开发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’不存在。请确保名称输入正确。 BACKUP DATABASE异常终止。”

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

请帮

+0

这是你问的一个重复问题:[see here](http://stackoverflow.com/questions/15861962/backing-up-inbuilt-database-in-visual-studio-using-c-sharp) 。如果您想提供有关现有问题的更多信息,则可以选择对其进行编辑。 – 2013-04-08 10:47:39

回答

0

好像你错过了关键字DATABASEBACKUP后添加DATABASE和检查

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); 
+0

感谢您的帮助,但仍显示相同的错误 – Hanumendra 2013-04-07 21:16:53

0

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

0

找不到要备份到的文件。请将'D:\ temp \ foo'的文本更改为'D:\ Temp \ foo \ Test.bak'。请记住目录D:\ Temp \ foo必须存在。 整个文本如下所示:(将'测试'更改为您自己的数据库名称) 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);