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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

在.Net中進(jìn)行SQL Server數(shù)據(jù)庫(kù)備份與還原操作實(shí)用類

2019-11-17 03:03:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在.Net中進(jìn)行SQL Server數(shù)據(jù)庫(kù)備份與還原操作實(shí)用類

#region 類說(shuō)明//-----------------------------------------------------------------------------//// 項(xiàng)目名稱:***// 文件名稱:DBBakManager.cs// 文件說(shuō)明:對(duì)數(shù)據(jù)庫(kù)備份文件進(jìn)行管理。提供備份、還原、備份文件管理操作。//// 開(kāi)始日期:2007年04月04日// 開(kāi)發(fā)人員:***////-----------------------------------------------------------------------------#endregionusing System;using System.Collections.Generic;using System.IO;using System.Text;using SQLDMO;       //添加引用C:PRogram FilesMicrosoft SQL Server80ToolsBinnSQLDMO.dllnamespace GSIM.StuManager{    /// <summary>    /// 對(duì)SQL Server數(shù)據(jù)庫(kù)備份文件進(jìn)行管理。提供備份、還原、備份文件管理操作。    /// </summary>    public class DBBakManager    {        字段#region 字段        private string _serverName;        private string _userName;        private string _passWord;        private string _dbName;        #endregion        構(gòu)造#region 構(gòu)造        /// <summary>        /// 構(gòu)造函數(shù)        /// </summary>        /// <param name="serverName">數(shù)據(jù)庫(kù)服務(wù)器名        /// <param name="userName">數(shù)據(jù)庫(kù)用戶名        /// <param name="password">用戶密碼        /// <param name="dbName">數(shù)據(jù)庫(kù)名        public DBBakManager(string serverName, string userName, string password,string dbName)        {            _serverName = serverName;            _userName = userName;            _password = password;            _dbName = dbName;        }        #endregion        方法#region 方法        /// <summary>        /// 備份數(shù)據(jù)庫(kù)        /// </summary>        /// <param name="saveFileName">保存的備份文件路徑(包括文件名,文件名格式為:"DBName(yyyyMMddHHmm).bak")        /// <returns>操作成功返回true,否則返回false</returns>        public bool BackUpDB(string saveFileName)        {            SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();            try            {                svr.Connect(_serverName, _userName, _password);                SQLDMO.Backup bak = new SQLDMO.BackupClass();                bak.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;                bak.Initialize = true;                bak.Database = _dbName;                bak.Files = saveFileName;                bak.SQLBackup(svr);                return true;            }            catch (Exception err)            {                return false;            }            finally            {                svr.Close();            }        }        /// <summary>        /// 還原數(shù)據(jù)庫(kù)備份        /// </summary>        /// <param name="fileName">還原的備份文件路徑(包括文件名,文件名格式為:"DBName(yyyyMMddHHmm).bak")        /// <returns>操作成功返回true,否則返回false</returns>        public bool RestoreDB(string fileName)        {            SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();            try            {                svr.Connect(_serverName, _userName, _password);                //取得所有的進(jìn)程列表                SQLDMO.QueryResults qr = svr.EnumProcesses(-1);                int iColPIDNum = -1;                int iColDbName = -1;                //找到和要恢復(fù)數(shù)據(jù)庫(kù)相關(guān)的進(jìn)程                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;                }                //將相關(guān)進(jìn)程關(guān)閉                               for (int i = 1; i <= qr.Rows; i++)                {                    int lPID = qr.GetColumnLong(i, iColPIDNum);                    string strDBName = qr.GetColumnString(i, iColDbName);                    if (strDBName.ToUpper() == _dbName)                        svr.KillProcess(lPID);                }                SQLDMO.Restore res = new SQLDMO.RestoreClass();                res.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;                res.Files = fileName;                res.Database = _dbName;                res.FileNumber = 1;                res.ReplaceDatabase = true;                res.SQLRestore(svr);                return true;            }            catch (Exception err)            {                return false;            }            finally            {                svr.Close();            }        }        /// <summary>        /// 獲得所有數(shù)據(jù)庫(kù)備份文件信息,如:200704041120.        /// </summary>        /// <param name="filePath">保存?zhèn)浞菸募奈募A路徑(不包括文件名)        /// <returns>包含文件信息的字符串組</returns>        public string[] GetAllDBBak(string filePath)        {            string[] DBBakInfo = Directory.GetFiles(filePath, "BMIS*");            int start = DBBakInfo[0].IndexOf("(");            int end = DBBakInfo[0].IndexOf(")");            //除去多余部分,返回名字中的時(shí)間信息,如:200704041120.            for (int i = 0; i < DBBakInfo.Length; i++)            {                DBBakInfo[i] = DBBakInfo[i].Substring(start + 1, end - start - 1);            }            return DBBakInfo;        }        /// <summary>        /// 刪除一個(gè)數(shù)據(jù)庫(kù)備份文件        /// </summary>        /// <param name="fileName">刪除的備份文件路徑(包括文件名,文件名格式為:"DBName(yyyyMMddHHmm).bak")        /// <returns>操作成功返回true,否則返回false</returns>        public bool DeleteDBBak(string fileName)        {            if (File.Exists(fileName) == true)            {                File.Delete(fileName);                return true;            }            else            {                return false;            }        }        #endregion    }} <pre></pre>


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 准格尔旗| 旅游| 贵南县| 景谷| 娱乐| 孝义市| 屏南县| 进贤县| 岗巴县| 广丰县| 建宁县| 册亨县| 如皋市| 盐边县| 泾源县| 高邑县| 襄垣县| 岢岚县| 庄河市| 西乌| 弥勒县| 湖南省| 乐安县| 博爱县| 辽源市| 手游| 湛江市| 兴化市| 邻水| 祁连县| 嘉荫县| 宁陕县| 定兴县| 定西市| 海晏县| 灵台县| 志丹县| 洪湖市| 宁津县| 定兴县| 衡山县|