Sie können und es ist sehr gut möglich, das zu tun, worum Sie gebeten haben,
aber die Sicherung selbst mit SMO durchzuführen, ist nicht sehr schwierig, aber der schwierige Teil besteht darin, die Sicherung und Wiederherstellung zu verwalten.
Es wäre schwierig, den gesamten Code hier einzufügen, aber er passt nicht. daher werde ich mein Bestes geben, um die Zeilen zu platzieren, die Sie benötigen.
SqlBackup.SqlBackup gibt keinen Wert zurück, es ist eine void-Funktion. Aber es braucht einen Parameter, der "Server" ist, probieren Sie den folgenden Code aus:
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();