net对mssql的操作(备份,还原,获取表数据,获取表字段信息)(一)

2015-01-21 13:43:19 · 作者: · 浏览: 8
 #region 数据库管理
        /// 
        /// 还原恢复数据库
        /// 
        /// 保存路径
        /// 
        public bool DataRestore(string FilePath)
        {
            string[] Connection = ConfigHelper.GetAppSettings("SqlServer_WYL_DB").Split(';');
            SqlServerBackup sqlserverbackup = new SqlServerBackup();
            sqlserverbackup.Server = Connection[0].Substring(7);
            sqlserverbackup.Database = Connection[1].Substring(9);
            sqlserverbackup.Uid = Connection[2].Substring(4);
            sqlserverbackup.Pwd = Connection[3].Substring(4);
            if (sqlserverbackup.DbRestore(FilePath))
                return true;
            else
                return false;
        }
        /// 
        /// 备份数据库
        /// 
        /// 保存路径
        /// 
        public bool DataBackups(string FilePath)
        {
            try
            {
                string[] Connection = ConfigHelper.GetAppSettings("SqlServer_WYL_DB").Split(';');
                SqlServerBackup sqlserverbackup = new SqlServerBackup();
                sqlserverbackup.Server = Connection[0].Substring(7);
                sqlserverbackup.Database = Connection[1].Substring(9);
                sqlserverbackup.Uid = Connection[2].Substring(4);
                sqlserverbackup.Pwd = Connection[3].Substring(4);
                if (sqlserverbackup.DbBackup(FilePath))
                    return true;
                else
                    return false;
            }
            catch (Exception)
            {
                return false;
            }
        }
        /// 
        /// 添加数据库备份恢复记录
        /// 
        /// 类型:备份、恢复
        /// 文件名
        /// 文件大小
        /// 创建用户
        /// 所属数据库
        /// 备注
        /// 
        public void Add_Backup_Restore_Log(string Type, string File, string Size, string CreateUserName, string DB, string Memo)
        {
            LogHelper Logger = new LogHelper("Backup_Restore_Log");
            Hashtable ht = new Hashtable();
            StringBuilder sb = new StringBuilder();
            sb.Append(Type + "∫");
            sb.Append(File + "∫");
            sb.Append(Size + "∫");
            sb.Append(CreateUserName + "∫");
            sb.Append(DB + "∫");
            sb.Append(Memo + "∫");
            sb.Append(DateTime.Now + "∫");
            sb.Append("∮");
            Logger.WriteLog(sb.ToString());
        }
        /// 
/// 数据库备份还原记录 ///
/// public DataTable GetBackup_Restore_Log_List() { LogHelper Logger = new LogHelper("Backup_Restore_Log"); string filepath = ConfigHelper.GetAppSettings("LogFilePath") + "/Backup_Restore_Log.log"; StreamReader sr = new StreamReader(filepath, Encoding.GetEncoding("UTF-8"));//取得这txt文件的编码 string[] strvalue = sr.ReadToEnd().ToString().Split('∮'); sr.Close(); DataTable dt = new DataTable(); dt.Columns.Add("Backup_Restore_Type", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_File", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_Size", Type.GetType("System.String")); dt.Columns.Add("CreateUserName", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_DB", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_Memo", Type.GetType("System.String")); dt.Columns.Add("CreateDate", Type.GetType("System.String")); foreach (string item in strvalue) { if (item.Length > 6) { string[] str_item = item.Split('∫'); DataRow row = dt.NewRow(); string[] Typeitem = str_item[0].Split(']'); row["Backup_Restore_Type"] = Typeitem[1].Trim(); row["Backup_Restore_File"] = str_item[1]; row["Backup_Restore_Size"] = str_item[2]; row["CreateUserName"] = str_item[3]; row["Backup_Restore_DB"] = str_item[4]; row["Backup_Restore_Memo"] = str_item[5]; row["CreateDate"] = str_item[6]; dt.Rows.Add(row); } } dt.DefaultView.Sort = "CreateDate DESC";//DataTable排序 DataTable dtTemp = dt.DefaultView.ToTable(); return dtTemp; } /// /// 获取数据库所有表名 /// /// public DataTable GetSysobjects() { StringBuilder st