源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

sqlserver备份还原数据库功能封装分享

  • 时间:2021-10-31 22:00 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:sqlserver备份还原数据库功能封装分享
[u]复制代码[/u] 代码如下:
using System; using SQLDMO; namespace EDTBackupTool {  /// <summary>  /// Backup 的摘要说明。  /// </summary>  public class SQLTools  {    public static bool Backup(string backfile){    try    {     SQLDMO.Backup backup = new BackupClass();     SQLDMO.SQLServer server = new SQLServerClass();     server.LoginSecure = true;          server.Connect(ClientCommon.CommonFunctions.DataSource,"sa","");           backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;     backup.Database = ClientCommon.CommonFunctions.Catalog;     backup.Files =backfile;     backup.BackupSetName =ClientCommon.CommonFunctions.Catalog;     backup.BackupSetDescription = "数据库备份";     backup.Initialize = true;         backup.SQLBackup(server);       return true;    }    catch(Exception ex){     ClientCommon.ExceptionRecorder.Record(ex);     return false;    }   }   public static bool RestoreDB(string strFileName)   {    SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;    try    {     svr.LoginSecure=true;         svr.Connect(ClientCommon.CommonFunctions.DataSource,"sa","") ;        SQLDMO.QueryResults qr = svr.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() == ClientCommon.CommonFunctions.Catalog)      {       iColDbName = i ;      }      if (iColPIDNum != -1 && iColDbName != -1)       break ;     }     //杀死使用strDbName数据库的进程     for(int i=1;i<=qr.Rows;i++)     {      int lPID = qr.GetColumnLong(i,iColPIDNum) ;      string strDBName = qr.GetColumnString(i,iColDbName) ;      if (strDBName.ToUpper() == ClientCommon.CommonFunctions.Catalog)      {       svr.KillProcess(lPID) ;      }     }     SQLDMO.Restore res = new SQLDMO.RestoreClass() ;     res.Action = 0 ;     res.Files = strFileName ;     res.Database = ClientCommon.CommonFunctions.Catalog ;     res.ReplaceDatabase = true ;     res.SQLRestore(svr) ;     return true ;    }    catch    {     return false;    }    finally    {     svr.DisConnect() ;    }   }  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部