Dofactory.com
Dofactory.com
 Back to list
Views:   8K
Replies:  0
Archived

Restoring a Database from a .bak file for a Specified Date given

Hello, every one. I have created some application which will take Backups of a Database in Full and Differential modes in C#.net to the Sql Server 2008 Database, now if i want to make the Restore not entire database, but only the data which is modified on a Particular date. Is it possible to do. I have provided my code samples, can any one help me.
private void BackupDataBaseFull(Server MyServer,Database MyDataBase,string DestinationPath,string Type)
         {
             try
             {
                 Backup backDB = new Backup();
                 backDB.Action = BackupActionType.Database;
                 backDB.Database = MyDataBase.Name;
                 backDB.Devices.AddDevice(DestinationPath, DeviceType.File);
                 backDB.BackupSetName = "Sql Database Backup Full";
                 backDB.BackupSetDescription = "Sql Database Backup - Full Backup";
                 backDB.ExpirationDate = DateTime.Now.AddDays(5);
                 backDB.Initialize = false;
                 if (Type == "Manual")
                 {
                     progressBar1.Value = 0;
                     backDB.PercentComplete += new PercentCompleteEventHandler(bd_PercentComplete);
                     backDB.Complete += new ServerMessageEventHandler(bd_Complete);
                 }
                 else if (Type == "Automatic")
                 {
                     backDB.PercentComplete += CompletionStatusInPercent;
                     backDB.Complete += Backup_Completed;
                 }
                 backDB.SqlBackup(MyServer);
             }
             catch (Exception ex)
             {
                   MessageBox.Show(ex.ToString(), "SqlBackupRestore", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }

 
private void BackupDataBaseDifferential(Server MyServer, Database MyDataBase, string DestinationPath, string Type)
         {
             try
             {
                 Backup backDB = new Backup();
                 backDB.Action = BackupActionType.Database;
                 backDB.Database = MyDataBase.Name;
                 backDB.Devices.AddDevice(DestinationPath, DeviceType.File);
                 backDB.BackupSetName = "Sql Database Backup Differential";
                 backDB.BackupSetDescription = "Sql Database Backup - DifferentialType";
                 backDB.ExpirationDate = DateTime.Now.AddDays(5);
                 backDB.Initialize = false;
                 backDB.Incremental = true;
                 if (Type == "Manual")
                 {
                     progressBar1.Value = 0;
                     backDB.PercentComplete += new PercentCompleteEventHandler(bd_PercentComplete);
                     backDB.Complete += new ServerMessageEventHandler(bd_Complete);
                 }
                 else if (Type == "Automatic")
                 {
                     backDB.PercentComplete += CompletionStatusInPercent;
                     backDB.Complete += Backup_Completed;
                 }
                 backDB.SqlBackup(MyServer);
             }
             catch (Exception ex)
             {
                   MessageBox.Show(ex.ToString(), "SqlBackupRestore", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }

 
private void RestoreDataBase(Server MyServer, Database MyDataBase, string DevicePath, string Type)
         {
             try
             {
                 progressBar1.Value = 0;
                 Restore restoreDB = new Restore();
                 restoreDB.Action = RestoreActionType.Database;
                 restoreDB.Database = MyDataBase.Name;
                 restoreDB.Devices.AddDevice(DevicePath, DeviceType.File);
                 restoreDB.ReplaceDatabase = true;
                 restoreDB.NoRecovery = true;
                 restoreDB.PercentComplete += new PercentCompleteEventHandler(rstDatabase_PercentComplete);
                 restoreDB.Complete += new ServerMessageEventHandler(rstDatabase_Complete);
                 restoreDB.SqlRestore(MyServer);
             }
             catch (Exception ex)
             {
                   MessageBox.Show(ex.ToString(), "SqlBackupRestore", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }

 
Kalyan Kumar, Apr 09, 2011
Stay Inspired!
Join other developers and designers who have already signed up for our mailing list.
Terms     Privacy     Cookies       Do Not Sell       Licensing      
Made with    in Austin, Texas.  - vsn 44.0.0
© Data & Object Factory, LLC.