国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.Net下的數據備份和還原

2024-07-10 13:12:40
字體:
來源:轉載
供稿:網友

  數據庫:sql server  ;引用sqldmo

  ◆數據備份 :
 /// <summary>
  /// 備份數據庫
  /// </summary>
  private void btnbackup_click(object sender, system.eventargs e)
  {
   this.cursor = cursors.waitcursor;
   this.label1.text = "  正在進行檔案庫的數據備份,這可能需要幾秒到幾十的時間,請稍候...";
   this.label1.visible = true;
   this.label1.refresh();
   this.pbar1.visible = true;
   //------------------------------------------------------------------------------------

  
   string selfname = “d:/northwindbak“;
   string devicename = “northwindbak“;
   string remark = "備份測試";
  
   //◆數據備份:
   sqldmo.backup obackup = new sqldmo.backupclass();
   sqldmo.sqlserver osqlserver = new sqldmo.sqlserverclass();
   obackup.action = 0 ;
   obackup.initialize = true ;
   sqldmo.backupsink_percentcompleteeventhandler pceh = new sqldmo.backupsink_percentcompleteeventhandler(step);
   obackup.percentcomplete += pceh;

   try
   {
    osqlserver.loginsecure = false;
    osqlserver.connect(common.mysettings.sqlservername, "sa", "");
    obackup.action = sqldmo.sqldmo_backup_type.sqldmobackup_database;
    obackup.database = "northwind";//數據庫名
    obackup.files = selfname;//文件路徑
    obackup.backupsetname = devicename;//備份名稱
    obackup.backupsetdescription = remark;//備份描述
    obackup.initialize = true;
    obackup.sqlbackup(osqlserver);
   
   }
   catch(system.exception ex)
   {
    common.showmsg("數據備份失敗:/n" + ex.tostring());
   }
   finally
   {
    osqlserver.disconnect();
   }

   //------------------------------------------------------------------------------------
   this.label1.visible = false;
   this.pbar1.visible = false;
   this.cursor = cursors.default;
  }


  /// <summary>
  /// 顯示備份進度條
  /// </summary>
  private void step(string message,int percent)
  {
   this.pbar1.value = percent ;
  }

  ◆數據還原 :

  /// <summary>
  /// 還原數據庫
  /// </summary>
  private void btnrestore_click(object sender, system.eventargs e)
  {
  
   this.cursor = cursors.waitcursor;
   this.label1.text = "  正在進行檔案庫的數據還原,這可能需要幾秒到幾十的時間,請稍候...";
   this.label1.visible = true;
   this.label1.refresh();
   this.pbar1.visible = true;
   //------------------------------------------------------------------------------------

   string filename = "northwindbak";
   string filepath = "d:/northwindbak";
   string remark = "備份測試";

   sqldmo.restore orestore = new sqldmo.restoreclass();
   sqldmo.sqlserver osqlserver = new sqldmo.sqlserverclass();
   orestore.action = 0 ;
   sqldmo.restoresink_percentcompleteeventhandler pceh = new sqldmo.restoresink_percentcompleteeventhandler(step);
   orestore.percentcomplete += pceh;
   try
   {
                osqlserver.connect(common.mysettings.sqlservername, "sa", "");
                sqldmo.queryresults qr = osqlserver.enumprocesses(-1) ;
                int icolpidnum = -1 ;
                int icoldbname = -1 ;

  //殺死其它的連接進程
                for(int i=1;i<=qr.columns;i++)
                {
                    string strname = qr.get_columnname(i) ;
                    if (strname.toupper().trim() == "spid")
                    {
                        icolpidnum = i ;
                    }
                    else if (strname.toupper().trim() == "dbname")
                    {
                        icoldbname = i ;
                    }
                    if (icolpidnum != -1 && icoldbname != -1)
                        break ;
                }

                for(int i=1;i<=qr.rows;i++)
                {
                    int lpid = qr.getcolumnlong(i,icolpidnum) ;
                    string strdbname = qr.getcolumnstring(i,icoldbname) ;
                    if (strdbname.toupper() == "northwind".toupper())
                        osqlserver.killprocess(lpid) ;
                }


    orestore.action = sqldmo.sqldmo_restore_type.sqldmorestore_database;
    orestore.database = "northwind";
    orestore.files = filepath;
    orestore.filenumber = 1;
    orestore.replacedatabase = true;
    orestore.sqlrestore(osqlserver);

               
  }
            catch(system.exception ex)
            {
                common.showmsg("數據還原失敗:/n" + ex.tostring());
   }
   finally
   {
    osqlserver.disconnect();
   }
 
   //------------------------------------------------------------------------------------
   this.label1.visible = false;
   this.pbar1.visible = false;
   this.cursor = cursors.default;
  }

  /// <summary>
  /// 顯示還原進度條
  /// </summary>
  private void step(string message,int percent)
  {
   this.pbar1.value = percent ;
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈利县| 达孜县| 浦城县| 清水县| 会东县| 永年县| 皋兰县| 琼海市| 陵水| 赞皇县| 容城县| 克拉玛依市| 盐津县| 修文县| 双桥区| 峡江县| 扎兰屯市| 万全县| 文登市| 丹凤县| 江华| 玉屏| 通化县| 湘阴县| 南开区| 南通市| 桂阳县| 焦作市| 禹城市| 海安县| 康保县| 彝良县| 宝应县| 连南| 扶沟县| 丁青县| 罗山县| 沾化县| 铜陵市| 体育| 襄樊市|