在C#中创建SQL Server备份

我正在尝试从我的代码创建sql服务器备份并执行该操作。但是当Path是  在驱动器C中:(例如:文档或桌面)无法创建备份。怎么了?

try
            {
                string DES = GenerateBackupLocation(Destination);
                string databaseName = "MyDataBase";
                Backup sqlBackup = new Backup();
                sqlBackup.action = BackupactionType.Database;
                sqlBackup.BackupSetDescription = "BackUp of:" + databaseName + "on" + DateTime.Now.ToShortDateString();
                sqlBackup.BackupSetName = "FullBackUp";
                sqlBackup.Database = databaseName;
                BackupDeviceItem deviceItem = new BackupDeviceItem(DES + "\\" + databaseName + ".bak",DeviceType.File);
                SqlConnection con = new SqlConnection(Connectionstring);
                ServerConnection connection = new ServerConnection(con);
                Server sqlServer = new Server(connection);
                sqlServer.ConnectionContext.StatementTimeout = 60 * 60;
                Database db = sqlServer.Databases[databaseName];
                sqlBackup.Initialize = true;
                sqlBackup.Checksum = true;
                sqlBackup.ContinueAfterError = true;
                sqlBackup.Devices.Add(deviceItem);
                sqlBackup.Incremental = false;
                sqlBackup.ExpirationDate = DateTime.Now.AddDays(3);
                sqlBackup.LogTruncation = BackupTruncateLogType.Truncate;
                sqlBackup.FormatMedia = false;
                sqlBackup.SqlBackup(sqlServer);
                sqlBackup.Devices.Remove(deviceItem);
                Message = "Backup Ok";
            }
            catch
            {
                Message = "Can't Create Backup";
            }
dgdfhdshdsh 回答:在C#中创建SQL Server备份

最可能的情况是您正在尝试备份到SQL Server服务(即不是您)没有写权限的文件夹。

运行SQL Server配置管理器,并检查谁执行SQL Server。检查他们对该路径的许可。

此外,而不是所有备份设备中的东西,等等。您只需执行一条SQL Server命令即可进行备份,即备份dbname TO DISK ='path'WITH options;

本文链接:https://www.f2er.com/3112710.html

大家都在问