建立连接后如何在c#中备份数据库

How to backup a database in c# after connection is established

我已经编写了代码来访问和显示给定服务器中的所有数据库。现在我正在尝试实际执行备份过程并将文件暂时保存到我的桌面。但是,当它到达 SQLBackup() 时,我得到一个

SqlException: Cannot open backup device.

我试过将文件路径更改为其他位置。将文件类型指定为 .bak。将其更改为服务器名称本身,但我一直收到相同的错误。

    public static void Backup(string dbName, string connString)
    {
        if (string.IsNullOrEmpty(dbName)) //check if a database name has been entered
        {
            WriteLine("Database name cannot be blank. Enter a Database to back up");
        }
        else
        { 
            SqlConnection objconnection = new SqlConnection(connString);
            ServerConnection con = new ServerConnection(objconnection.DataSource.ToString());
            Server server = new Server(con);
            Backup source = new Backup();
            source.Action = BackupActionType.Database;
            source.Database = dbName;
            BackupDeviceItem destination = new BackupDeviceItem(@"C:\Users\me\Desktop\", DeviceType.File);
            source.Devices.Add(destination);

            source.SqlBackup(server);
        }
    }

如果运行正确,我的桌面上应该有一个数据库的备份文件。

问题出在我在 backupdeviceitem 中的第一个参数。将其更改为 dbname(或任何其他名称)解决了问题。