2013-03-01 98 views
2

我会尝试从C#应用程序做一个备份数据库。我发现更多的教程是如何做到这一点。在新项目中复制一些解决方案并运行。如何在C#应用程序中进行备份?

"backup failed for server ".

在这一行:我得到了像一个连接错误,所有的时间

source.SqlBackup(server);

你知道我是怎么解决这个问题?我认为这个问题关系到服务器的连接(它坏了?)。

下面你可以看到备份方法:

public static void BackupDatabase(string backUpFile) 
{ 
    ServerConnection con = new ServerConnection(@".\SQLEXPRESS"); 
    Server server = new Server(con); 
    Backup source = new Backup(); 
    source.Action = BackupActionType.Database; 
    source.Database = "DB"; 
    BackupDeviceItem destination = new BackupDeviceItem(backUpFile, DeviceType.File); 
    source.Devices.Add(destination); 
    source.SqlBackup(server); 
    con.Disconnect(); 
    MessageBox.Show("Kopia wykonana!"); 
} 
+0

'backUpFile'的值是什么?让你的sql server服务帐户有权写入该位置? – 2013-03-01 16:52:27

+3

你应该放一个try/catch,并显示'ex.ToString()'的值' – 2013-03-01 16:53:35

+0

在backuFile中输入备份的路径,例如。 BackupDatabase(@ “C:\备份\ backup.bak”); 有没有权限?我不知道我使用Windows身份验证连接到SQL Server。 – Foee 2013-03-01 17:10:46

回答

2

夫妇的事情你去尝试。

  1. 确保数据库名称正确

    source.Database = “DB”; //检查数据库名称实际上是'DB'。

  2. 我在过去使用ServerConnection连接字符串时遇到了一些问题,即使语法允许您这样做。我所做的是从连接字符串中创建一个SqlConnection,然后将其提供给ServerConnection

    string connectionString = "Your connection string goes here"; 
    
    SqlConnection sqlCon = new SqlConnection(connectionString); 
    
    ServerConnection connection = new ServerConnection(sqlCon); 
    
  3. 我也会尝试初始化备份对象。

    source.Initialize = true; 
    
1

添加完全控制PC用户在备份文件夹C:\驱动器帮助!感谢所有的帮助!但只是我有一个问题:我如何修改上面的C#代码,程序应该是你自己在C:\上创建备份文件夹,并做一个复制数据库?目前我必须手动完成。

相关问题