private void backupToFile() { //lọc file để lưu file backup chỉ có đuôi .bak dlgSaveBackUp.InitialDirectory = "C:\\"; dlgSaveBackUp.Filter = "bak file(*.bak)|*.bak"; dlgSaveBackUp.Title = "Nhập tên file sao lưu"; dlgSaveBackUp.FileName = cboSourceDatabase.SelectedItem.ToString() + "_backup_" + DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day; if (dlgSaveBackUp.ShowDialog() == DialogResult.OK) { //tạo một đối tượng SQLDMO.Backup để thực hiện việc backup csdl SQLDMO.Backup bk = new SQLDMO.Backup(); bk.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database; //kiểu backup toàn bộ csdl bk.Database = cboSourceDatabase.SelectedItem.ToString(); //tên database cần backup //tao doi tuong backup device để lưu vào sql server, dùng lại khi restore SQLDMO.BackupDevice bkdv = new SQLDMO.BackupDevice(); string logicDevicename = GetFileName(dlgSaveBackUp.FileName); bkdv.Name = logicDevicename; bkdv.PhysicalLocation = dlgSaveBackUp.FileName; bkdv.Type = SQLDMO.SQLDMO_DEVICE_TYPE.SQLDMODevice_DiskDump; //lưu file backup vào disk //Lưu trữ bkdv vào sql server (tương tự lưu store procedure) try { addBackupdevice(sqlSrv, bkdv, dlgSaveBackUp.FileName); } catch (Exception ex) { MessageBox.Show("Can not backup database " + bk.Database, "Backup fail", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // try { //gắn backup device vào đối tượng backup bk.Devices = "[" + bkdv.Name + "]"; } catch (Exception exc) { MessageBox.Show("The backup device already exist. Select another back up file name ! ", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { //tiến hành back up csdl bk.SQLBackup(sqlSrv); MessageBox.Show("Successful back up full database " + bk.Database, "Backup successful", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Can not backup database " + bk.Database, "Backup fail", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }
private void backupToFile() { //lọc file để lưu file backup chỉ có đuôi .bak dlgSaveBackUp.InitialDirectory = "C:\\" ; dlgSaveBackUp.Filter = "bak file(*.bak)|*.bak"; dlgSaveBackUp.Title = "Nhập tên file sao lưu"; dlgSaveBackUp.FileName = cboSourceDatabase.SelectedItem.ToString()+"_backup_"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day; if(dlgSaveBackUp.ShowDialog() ==DialogResult.OK ) { //tạo một đối tượng SQLDMO.Backup để thực hiện việc backup csdl SQLDMO.Backup bk=new SQLDMO.Backup(); bk.Action =SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;//kiểu backup toàn bộ csdl bk.Database=cboSourceDatabase.SelectedItem.ToString() ; //tên database cần backup //tao doi tuong backup device để lưu vào sql server, dùng lại khi restore SQLDMO.BackupDevice bkdv=new SQLDMO.BackupDevice (); string logicDevicename= GetFileName(dlgSaveBackUp.FileName); bkdv.Name=logicDevicename; bkdv.PhysicalLocation=dlgSaveBackUp.FileName; bkdv.Type=SQLDMO.SQLDMO_DEVICE_TYPE.SQLDMODevice_DiskDump;//lưu file backup vào disk //Lưu trữ bkdv vào sql server (tương tự lưu store procedure) try { addBackupdevice(sqlSrv,bkdv,dlgSaveBackUp.FileName ); } catch(Exception ex) { MessageBox.Show("Can not backup database "+bk.Database ,"Backup fail",MessageBoxButtons.OK, MessageBoxIcon.Error ) ; return; } // try { //gắn backup device vào đối tượng backup bk.Devices ="["+bkdv.Name +"]"; } catch(Exception exc) { MessageBox.Show("The backup device already exist. Select another back up file name ! ","error",MessageBoxButtons.OK, MessageBoxIcon.Error ) ; return; } try { //tiến hành back up csdl bk.SQLBackup(sqlSrv ); MessageBox.Show("Successful back up full database "+ bk.Database,"Backup successful",MessageBoxButtons.OK, MessageBoxIcon.Information ); } catch(Exception ex) { MessageBox.Show("Can not backup database "+bk.Database ,"Backup fail",MessageBoxButtons.OK, MessageBoxIcon.Error ) ; return; } } }