如何在C#应用程序中进行备份?

时间:2013-03-01 16:51:02

标签: c# sql-server visual-studio backup restore

我将尝试从C#应用程序执行备份数据库。我找到了更多教程如何做到这一点。在新项目中复制一些解决方案并运行。我一直遇到一个连接错误,如:

  

"服务器备份失败"。

在这一行:

  

source.SqlBackup(服务器);

你知道我是如何解决这个问题的吗?我认为这个问题与服务器的连接有关(它坏了?)。

您可以在下面看到备份方法:

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!");
}

2 个答案:

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

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