puoi ed è molto possibile fare ciò che hai chiesto,
ma fare il backup da solo usando SMO non è molto difficile, ma la parte difficile è gestire il backup e il ripristino.
sarebbe difficile mettere tutto il codice qui, ma non si adatterà. quindi farò del mio meglio per mettere le linee di cui hai bisogno.
SqlBackup.SqlBackup non restituisce alcun valore, è una funzione void. ma richiede un parametro che è "Server", prova il seguente codice:
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();