SQL Server使用C#执行备份

kub*_*003 6 c# backup sql-server-2008

我已经研究了使用C#通过SMO创建数据库备份的可能性.任务非常简单,代码简单明了.我只有一个问题:如何检查备份是否真的被创建了?

SqlBackup.SqlBackup方法返回没有参数,我甚至不知道它是否抛出任何异常.(我唯一知道的是它是阻塞的,因为还有SqlBackupAsync方法)

我将不胜感激任何帮助.

Arr*_*abi 1

你可以而且很有可能做你要求的事,

但是使用 SMO 自行备份并不是很困难,但困难的部分是管理备份和恢复。

很难将所有代码放在这里,但它不适合。所以我会尽力把你需要的台词放进去。

SqlBackup.SqlBackup 不返回任何值,它是一个 void 函数。但它需要一个参数“Server”,请尝试以下代码:

Server srvSql;

//Connect to Server using your authentication method and load the databases in srvSql
// THEN

Backup bkpDatabase = new Backup();
bkpDatabase.Action = BackupActionType.Database;
bkpDatabase.Incremental = true; // will take an incemental backup
bkpDatabase.Incremental = false; // will take a Full backup 
bkpDatabase.Database = "your DB name";
BackupDeviceItem bDevice = new BackupDeviceItem("Backup.bak", DeviceType.File);
bkpDatabase.Devices.Add(bDevice );

bkpDatabase.PercentCompleteNotification = 1;// this for progress
bkpDatabase.SqlBackup(srvSql);
bkpDatabase.Devices.Clear();
Run Code Online (Sandbox Code Playgroud)