簡體   English   中英

在 c# 中創建 SQL 服務器備份

[英]Create SQL Server Backup in c#

我正在嘗試從我的代碼創建 sql 服務器備份並執行此操作。 但是當路徑在驅動器 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";
            }

最可能的情況是您嘗試備份到 SQL 服務器服務(即不是您)沒有寫入權限的文件夾。

運行 SQL 服務器配置管理器,檢查 SQL 服務器執行的身份。 檢查他們對該路徑的許可。

此外,而不是所有的備份設備的東西,等等,你可能更容易執行 SQL 服務器命令來做備份,即 BACKUP dbname TO DISK = 'path' WITH options;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM