Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server führt Backup mit C# durch

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();