Hello Vunguyen112,
You can use SMO to achieve this. Following code snippet should get you started.
Microsoft.SqlServer.Management.Smo.Server smoServer = new Server(new ServerConnection(server));
Database db = smoServer.Databases['DB_NAME'];
string dbPath = Path.Combine(db.PrimaryFilePath, 'DBFILE.MDF');
string logPath = Path.Combine(db.PrimaryFilePath, 'DB_LOG.LDF');
Restore restore = new Restore();
BackupDeviceItem deviceItem = new BackupDeviceItem('DRIVE:\MYDATABASE.BAK', DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = backupDatabaseTo;
restore.FileNumber = restoreFileNumber;
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(smoServer);
db = smoServer.Databases['DB_NAME'];
db.SetOnline();
smoServer.Refresh();
db.Refresh();
You need following references in your project.
- Microsoft.SqlServer.Smo
- Microsoft.SqlServer.SmoExtended
- Microsoft.SqlServer.Management.Sdk.Sfc
Regards,