add reference microsoft.sqlserver.connectionifo,microsoft.sqlserver.smo
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string sw;
SaveFileDialog op = new SaveFileDialog();
op.ShowDialog();
sw=op.FileName;
if(sw!==" ")
Server s=new Server(new ServerConnection(".","user name","user password"));
Backup sb=new Backup();
sb.Action=BackupActionType.Database;
sb.Database = "xxx";
sb.Devices.AddDevice( sw+".bnk",DeviceType.File);
sb.BackupSetName = "demo";
sb.BackupSetDescription = "backup demo";
sb.Initialize = true;
sb.PercentComplete += new PercentCompleteEventHandler(evper); //cerationg an event dynamicaly
try
{
sb.SqlBackup(s);
MessageBox.Show("backup successfully completed");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
string ss = op.FileName;
if (ss!=="")
Server s = new Server(new ServerConnection(".", "userid", "user password"));
Restore r = new Restore();
r.Database = "xxx";
r.Action = RestoreActionType.Database;
r.Devices.AddDevice(ss, DeviceType.File);
r.ReplaceDatabase = true;
r.PercentComplete += new PercentCompleteEventHandler(evper);
try
{
r.SqlRestore(s);
MessageBox.Show("restore successfully completed");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
void evper(object sender, PercentCompleteEventArgs e)
{
progressBar1.Value = e.Percent;
progressBar1.Update();
}
}
}
No comments:
Post a Comment